反编译是渗透测试中的重要环节之一。
通过反编译,我们可以得到程序的项目结构、相关资源以及配置的数据库等信息。
本文以常见SpringBoot项目为例,对其进行反编译。
Spring Boot 是一个基于 Spring 的框架,旨在简化 Spring 应用的配置和开发过程,通过自动配置和约定大于配置的原则,使开发者能够快速搭建独立、生产级别的应用程序。
接下来,我们在IDEA中打包项目。
打包完成后,会生成相关jar包。
反编译
接下来,为大家介绍常见的几款反编译工具。
JD-GUI
JD-GUI是一个独立图形界面的Java源代码.class文件反编译工具。您可以浏览重建的源代码,JD-GUI的即时访问方法和字段。
官网地址:https://java-decompiler.github.io
使用
可以通过文件-打开文件或者直接拖入jar包到软件即可。反编译效果如下:
【图】反编译得到的数据库信息
Jar-Analyzer
传送门:🧲Jar Analyzer:JAR包分析工具
Jar Analyzer是一个JAR包分析工具。支持批量分析,SCA漏洞分析,方法调用关系搜索,字符串搜索,Spring组件分析,信息泄露检查,CFG程序分析,JVM栈帧分析,进阶表达式搜索,字节码指令级的动态调试分析,反编译JAR包一键导出,一键提取序列化数据恶意代码,一键分析BCEL字节码。
项目地址: https://github.com/jar-analyzer/jar-analyzer/releases/tag/4.2
导入文件后,点击启动
其他
当然,除了上面两款常见的工具外,还有其他一些常用的工具如Jadx
、 Bytecode Viewer
、IDEA插件
等。这需要我们在开发过程中,一定要注意数据库信息的相关配置。避免造成安全隐患。
个人观点,仅供参考
原创 大表哥吆 kali笔记