freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

wJa无源码的源码级调试jar包
FreeBuf_316538 2021-12-31 10:38:29 133141
所属地 海南省

wJa无源码的源码级调试jar包

wJa在1.0正式版本支持了动态调试jar包,wJa通过反编译得到java源代码,通过jdi实现了类源码级别的调试。

打开jar包

正常打开jar之后,可以看到wJa除了原先的反编译区域和CHeetahLangue区域之外增加了DebugJar和Web两个板块

DebugJar

源码级别调试java代码,下断点,查看变量,单步执行之类常用的功能

Web

浏览器,方便大家操作,查看Cookies之类的功能,之后会增加强大的功能,暂时功能单一

image

调试使用

wJa会帮助我们自动打开jar包,启用jvm的调试,所以对于Web应用记住不要提前打开,因为端口会被占用。

还有一点关键的是,wJa将会启用jdwp协议,存活在6677端口,不要放公网上,这个协议有漏洞的!

左下角就是jar包的输出内容。

例如我们想要调试org.joychou.controller.SQLI类的jdbc_sqli_vul方法。

首先需要填写class和method,这一个class需要注意,和我们在编写cheetah时一样,需要将.转变为/,填写完毕之后点击get method content按钮。

image

可以看到方法内的源代码,并且方法左边会有一个编号,此编号类似于行号,但其实实际上是字节码偏移。

例如当我们想要断在54:statement = con.createStatement();这句话上时,可以再ID输入54,点击右边的下断。

这时候我们访问对应的页面,将会得到下面的结果

image

网页会断下,并且会展示当前运行到的编号和变量内容。

这里需要注意,填写54相当于是执行完了54:statement = con.createStatement();这句话,所以变量中可以看到statement变量。

多次继续单步执行,可以依次浏览结果。

image

例如当前运行到135,实际上是运行到赋值完res_pwd,这样子对我们进行代码审计有比较方便的效果。

也可以看到右下方的jar包输出内容依次打印的log。

最终我们run起来,删除断点就可以了。

Web使用

目前只能打印cookies,之后会添加js注入调试之类的功能。

image

之后的优化

之后我会讲代码调试方面模仿idea的断点方式,实现比较方便的内容,主要是java的UI实在不太好搞。

# 代码审计 # 动态调试
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 FreeBuf_316538 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
FreeBuf_316538 LV.4
这家伙太懒了,还未填写个人描述!
  • 9 文章数
  • 13 关注者
wJa (D&S&I)AST 工具
2022-01-13
wJa进阶分析
2021-12-23
wJa(java闭源项目的自动化白盒+黑盒测试工具)
2021-12-21
文章目录