前言
之前复现了好些涉及php应用的漏洞,现在也该轮到java了!
漏洞简介
此漏洞是由于多个组件库存在不安全的反序列化,导致攻击者可以利用漏洞实现远程代码执行。
漏洞编号 |
pom.xml替换部分 |
poc替换部分 |
CVE-2020-36179 |
<dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> |
org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS |
CVE-2020-36180 |
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.8.0</version> </dependency> |
org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS |
CVE-2020-36181 |
<dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-dbcp</artifactId> <version>7.0.53</version> </dependency> |
org.apache.tomcat.dbcp.dbcp.cpdsadapter.DriverAdapterCPDS |
CVE-2020-36182 |
<dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-dbcp</artifactId> <version>9.0.4</version> </dependency> |
org.apache.tomcat.dbcp.dbcp2.cpdsadapter.DriverAdapterCPDS |
环境搭建
打开idea,选择maven,如图:
填好项目文件名称及保存位置,之后idea会自动创建一个项目,如图:
替换pom.xml,然后保存,idea会自动下载依赖环境。
以CVE-2020-36180为例:
src -> main -> java -> poc.java
poc.java:
踩坑:
# 问题
程序包com.fasterxml.jackson.databind不存在
# 解决方法 在项目根目录下执行以下命令:
mvn clean install -Dmaven.test.skip=true
mvn -U idea:idea
最后出现如图:
即意味着环境已搭建🆗。
CVE-2020-36179
复现开始:
将payload exec.sql 放置web服务目录下(这里使用python3 起一个httpserver)
exec.sql:
# 弹计算器
calc.exe
python -m http.server 80
执行poc.java,成功弹出计算器(如图):
CVE-2020-36180
复现开始:
将payload exec.sql 放置web服务目录下
exec.sql:
# 弹计算器
calc.exe
python -m http.server 80
执行poc.java,成功弹出计算器(如图):
CVE-2020-36181
复现开始:
将payload exec.sql 放置web服务目录下
exec.sql:
# 弹计算器
calc.exe
python -m http.server 80
执行poc.java,成功弹出计算器(如图):
CVE-2020-36182
复现开始:
将payload exec.sql 放置web服务目录下
exec.sql:
# 弹记事本
notepad.exe
python -m http.server 80
执行poc.java,成功弹出记事本notepad.exe(如图):
看官轻喷
关于图片中的文件名错误, 不解释:
就是因为孤陋寡闻的我以为FastJson=FasterXML Jackson🙈。
如果不想折腾,可以在公众号后台回复jackson,获取我已经配置好的环境。
如图:
参考:
https://github.com/Al1ex/CVE-2020-36179
本文始发于微信公众号(don9sec):漏洞复现 CVE-2020-36179~36182
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论