漏洞复现 CVE-2020-36179~36182

  • A+
所属分类:安全文章

前言

       之前复现了好些涉及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,如图:

漏洞复现 CVE-2020-36179~36182

填好项目文件名称及保存位置,之后idea会自动创建一个项目,如图:

漏洞复现 CVE-2020-36179~36182

替换pom.xml,然后保存,idea会自动下载依赖环境。

以CVE-2020-36180为例:漏洞复现 CVE-2020-36179~36182漏洞复现 CVE-2020-36179~36182

src -> main -> java -> poc.java

poc.java:漏洞复现 CVE-2020-36179~36182

踩坑:

# 问题程序包com.fasterxml.jackson.databind不存在# 解决方法 在项目根目录下执行以下命令:mvn clean install -Dmaven.test.skip=truemvn -U idea:idea

漏洞复现 CVE-2020-36179~36182漏洞复现 CVE-2020-36179~36182漏洞复现 CVE-2020-36179~36182

最后出现如图:漏洞复现 CVE-2020-36179~36182

即意味着环境已搭建🆗。



CVE-2020-36179

复现开始:

将payload exec.sql  放置web服务目录下(这里使用python3 起一个httpserver)

exec.sql:

# 弹计算器calc.exe

漏洞复现 CVE-2020-36179~36182

python -m http.server 80
漏洞复现 CVE-2020-36179~36182

执行poc.java,成功弹出计算器(如图):漏洞复现 CVE-2020-36179~36182



CVE-2020-36180

复现开始:

将payload exec.sql  放置web服务目录下

exec.sql:

# 弹计算器calc.exe

漏洞复现 CVE-2020-36179~36182

python -m http.server 80

执行poc.java,成功弹出计算器(如图):漏洞复现 CVE-2020-36179~36182



CVE-2020-36181

复现开始:

将payload exec.sql  放置web服务目录下

exec.sql:

# 弹计算器calc.exe
python -m http.server 80

执行poc.java,成功弹出计算器(如图):漏洞复现 CVE-2020-36179~36182



CVE-2020-36182

复现开始:

将payload exec.sql  放置web服务目录下

exec.sql:

# 弹记事本notepad.exe


漏洞复现 CVE-2020-36179~36182

python -m http.server 80

执行poc.java,成功弹出记事本notepad.exe(如图):漏洞复现 CVE-2020-36179~36182


看官轻喷

    关于图片中的文件名错误, 不解释:

    就是因为孤陋寡闻的我以为FastJson=FasterXML Jackson🙈。

    如果不想折腾,可以在公众号后台回复jackson,获取我已经配置好的环境。

    如图:

漏洞复现 CVE-2020-36179~36182



参考:

https://github.com/Al1ex/CVE-2020-36179

本文始发于微信公众号(don9sec):漏洞复现 CVE-2020-36179~36182

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: