前言
在测试某反序列化漏洞,可以通过urldns链确定漏洞是否存在但在利用时遇到了困难,相关利用链可以执行系统命令却无法得到回显。
因此需要在此基础修改利用链达到命令回显得目的,下边记录的即是此次修改的过程。
java反序列化回显方法
根据搜索到的资料给出的常见回显方法有以下几种:1、报错回显:要求服务器将报错信息打印到页面。2、写文件:把执行结果写入静态文件置于web目录下再读取结果。3、dnslog回显:通过dnslog将执行结果带出(未实现)。4、中间件回显:获取response对象,结果写入response对象中带出。5、.....
报错回显
此法要求服务器将报错信息打印出来,修改要反序列化执行的java代码将结果写入异常再抛出即可实现。
写文件回显
同样修改yso中gadgets要执行的java代码即可实现,通过将执行结果写入web目录下的静态文件再读取来实现。此法的缺点是当目标不存在可访问静态web目录便无法使用了且要获取web目录的绝对路径,更适用于已知开发框架的反序列化漏洞利用。
dnslog
一般作为检测反序列化漏洞是否存在用,贴出urldns gadget的验证过程。
中间件回显
中间件回显是目前所有反序列化工具中最为通用的方法,相比于上述的方法中间件回显有不需目标出网、没有目录限制等优势。中间件回显的原理简单来说是在运行的中间件中获取request&response对象,通过request对象获取执行参数等后将执行结果写入response对象带出完成回显。已知目标中间件为tomcat,参考feihong师傅公开的tomcat全版本回显测试代码来修改yso代码实现利用。tomcat回显代码:
修改yso payload代码:
修改yso gadgets代码:
实现回显:
总结
由于本菜鸡学习java的路程不是很系统,在很多地方卡壳严重,还好最终实现了相关exp的编写。最后,感谢文中所用代码和知识的作者师傅们。
一些常见的视频音频如何实现格式转换
三星申请新商标,或将发布新智能音箱产品
国内外电磁辐射标准使用和修订介绍
26种取出断丝锥的方法
一个世界级智能装备产业集群的雏形
Java反序列化回显方法
mos管旁边为什么要并以二极管?有何作用呢?
电容式触摸感应按键设计方案
aigo国民好物双十一战报:固态硬盘产品销售额同比翻400倍
VLAN技术在智能化变电站网络中的应用
多结构形式的电磁流量计(PPM-DCBLKS)参数概述
为何中国用220伏电美国用110伏电?为什么不用110伏?
ADI耳塞式光学心率测量解决方案
PCB板元器件布局技巧
控制结构、顺序结构和公式节点
大圆柱电池或是电动车最佳选择
还在为3.8节礼物发愁 下面性价比高的蓝牙耳机解决你的烦恼
类I2C介绍及应用注意事项
基于SA-1110微处理器实现网络实时监控系统的设计方案
GAT模型如何来编码依存关系