本文是 i 春秋论坛作家「Wker」表哥分享的技术文章,公众号旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。
前期回顾
wJa在1.0正式版本支持了动态调试jar包,wJa通过反编译得到java源代码,通过jdi实现了类源码级别的调试。
打开jar包
正常打开jar之后,可以看到wJa除了原先的反编译区域和CHeetahLangue区域之外,增加了DebugJar和Web两个板块。
DebugJar
源码级别调试java代码,下断点,查看变量,单步执行之类常用的功能。
Web
浏览器,方便大家操作,查看Cookies之类的功能,之后会增加强大的功能,暂时功能单一。
调试使用
wJa会帮助我们自动打开jar包,启用jvm的调试,所以对于Web应用记住不要提前打开,因为端口会被占用。
还有关键的一点是,wJa将会启用jdwp协议,存活在6677端口,不要放公网上,这个协议有漏洞的!
左下角就是jar包的输出内容。例如我们想要调试org.joychou.controller.SQLI类的jdbc_sqli_vul方法。
首先需要填写class和method,这一个class需要注意,和我们在编写cheetah时一样,需要将.转变为/,填写完毕之后点击get method content按钮。
可以看到方法内的源代码,并且方法左边会有一个编号,此编号类似于行号,但其实是字节码偏移。
例如,当我们想要断在54:statement = con.createStatement( );这句话上时,可以再ID输入54,点击右边的下断。
这时候访问对应的页面,将会得到下面的结果:
网页会断下,并且会展示当前运行到的编号和变量内容。
这里需要注意,填写54相当于是执行完了
54:statement = con.createStatement( );这句话,所以变量中可以看到statement变量。
多次继续单步执行,可以依次浏览结果。
例如当前运行到135,实际上是运行到赋值完res_pwd,这样子对我们进行代码审计有比较方便的效果。
也可以看到右下方的jar包输出内容依次打印的log。
最终我们run起来,删除断点就可以了。
Web使用
目前只能打印cookies,之后会添加js注入调试之类的功能。
以上为今天分享的内容,小伙伴们看懂了吗?
文章素材来源于i春秋社区
注:文章内容仅供学习交流使用,任何人不得将其用于非法用途,否则后果自行承担!
相关推荐
培训认证
END
i春秋官方公众号为大家提供
前沿的网络安全技术
简单易懂的实用工具
紧张刺激的安全竞赛
还有网络安全大讲堂
更多技能等你来解锁
点分享
点点赞
点在看
原文始发于微信公众号(i春秋):wJa无源码的源码级调试jar包
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论