博文

目前显示的是 三月, 2022的博文

IDEA技巧

图片
IDEA技巧 IDEA远程调试jar包 1.打开源码 2.设置debug configuration,添加remote JVM debug 3.选择JDK版本,复制远程调试的参数 4.假如原始的启动jar是 java -cp h2-1.4.200.jar org.h2.tools.Server -tcp -web -webAllowOthers 那么粘贴参数之后应该是(粘贴到java后面) java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -cp h2-1.4.200.jar org.h2.tools.Server -tcp -web -webAllowOthers

CVE-2022-21724 PostgreSQL JDBC Driver RCE

图片
  CVE-2022-21724 PostgreSQL JDBC Driver RCE 前言 GitHub通告: Unchecked Class Instantiation when providing Plugin Classes · CVE-2022-21724 · GitHub Advisory Database NVD: pgjdbc is the offical PostgreSQL JDBC Driver. A security hole was found in the jdbc driver for postgresql database while doing security research. The system using the postgresql library will be attacked when attacker control the jdbc url or properties. pgjdbc instantiates plugin instances based on class names provided via authenticationPluginClassName , sslhostnameverifier , socketFactory , sslfactory , sslpasswordcallback connection properties. However, the driver did not verify if the class implements the expected interface before instantiating the class. This can lead to code execution loaded via arbitrary classes. Users using plugins are advised to upgrade. There are no known workarounds for this issue. 受影响版本 = 9.4.1208, < 42.2.25 > = 42.3.0, < 42.3.2 已修复版本 42.2.25 42.3.2 pom.xml中添加以下依赖 < dependencie...

Spring Cloud GateWay CVE-2022-22947 SPEL RCE

图片
Spring Cloud GateWay CVE-2022-22947 SPEL RCE 前言 官方通告: Spring Cloud Gateway CVE reports published 从POC看漏洞利用链 前置知识 快速了解Spring Cloud Gateway: SpringCloud gateway (史上最全) - 疯狂创客圈 - 博客园 (cnblogs.com) 影响版本 Spring Cloud Gateway 3.1.0 3.0.0 to 3.0.6 Older, unsupported versions are also affected 利用 环境: Vulhub 利用脚本: lucksec/Spring-Cloud-Gateway-CVE-2022-22947 分析环境准备 从GitHub的3.1.0 -> 3.1.1的 提交记录 ,diff可以大概看到漏洞的关键类 在org/springframework/cloud/gateway/support/ShortcutConfigurable.java,只有一处有删改记录 下载有漏洞的3.1.0 下来分析以下 Release v3.1.0 · spring-cloud/spring-cloud-gateway (github.com) IDEA打开spring-cloud-gateway-server文件夹,设置JVM远程调试 问题:可能会报关于Kotlin的错 解决:把其中一个Kotlin文件注释掉就可以运行了,我们的重点不在这里 IDEA环境搭建好之后用脚本试试看是否搭建成功,测试环境没有问题之后可以开始调试了 分析 从已有的 POC 分析 在 org/springframework/cloud/gateway/support/ShortcutConfigurable.java 打下断点,打POC过去开始调试 得到利用链 getValue:59, ShortcutConfigurable (org.springframework.cloud.gateway.support) normalize:94, ShortcutConfigurable$ShortcutType$1 (org.springframework.cloud.gateway.support) normali...