网站首页 > java教程 正文
0x01 工具简介
JavaSinkTracer 是 Tr0e师傅开发的一款基于 Python javalang 库开发的一款轻量级 Java 源代码漏洞审计工具。此工具基于“函数级”的污点分析,即反向追溯从 Sink(漏洞函数)到 Source(外部API函数)的调用链,暂不关注污点变量,只关注函数调用关系,可有效规避上述“变量级”污点跟踪的缺陷。当前已实现的功能有:

- 可在 Sink 配置文件中,自由拓展待检测的漏洞危险函数;
- 自动构建 Java 源代码中所有函数的互相调用关系图call graph;
- 从 Sink 点反向追溯到 Source 函数(可从配置文件的“depth”自定义追溯深度),提取调用链;
- 程序自动识别“污点传播链路”上“不包含任何参数”的函数,排除不可能存在外部可控变量的链路;
- 借助 Python javalang 三方库,自动提取每条“函数级污点链路”上所有函数的源代码,方便分析审计;
- 自动生成漏洞报告(Md和html两种格式),Html报告支持漏洞栏目导航、漏洞代码高亮、代码变量跟踪等;
工具使用
基础环境:
pip install -r requirements.txt运行命令:
python JavaSinkTracer.py [-h] [-p PROJECTPATH] [-o OUTPUTPATH完整参数:
λ python JavaSinkTracer.py -h
███████╗███████╗ ██████╗
██╔════╝██╔════╝██╔════╝
███████╗█████╗ ██║
╚════██║██╔══╝ ██║
███████║███████╗╚██████╗
╚══════╝╚══════╝ ╚═════╝
Java源代码漏洞审计工具_Tr0e
usage: JavaSinkTracer.py [-h] [-p PROJECTPATH] [-o OUTPUTPATH]
JavaSinkTracer
options:
-h, --help show this help message and exit
-p PROJECTPATH, --projectPath PROJECTPATH
待扫描的项目本地路径根目录,默认值:D:/Code/Github/java-sec-code
-o OUTPUTPATH, --outputPath OUTPUTPATH
指定扫描报告输出的本地路径根目录,默认值:当前项目根路径下的 Result 子文件夹以主流的开源 Java 漏洞靶场 java-sec-code 为例,扫描过程和漏洞报告效果如下:
漏洞的报告展示,以其中一个涉及到跨文件 SSRF 漏洞链路为例:
0x03 工具获取
夸克网盘「JavaSinkTracer 」
点击下方链接,帮助小白轻松学Kali与编程
猜你喜欢
- 2025-10-23 GitHub上8个神级工具,Java老兵效率翻倍,React不慌了!
- 2025-10-23 深入学习JVM实战: Jvm调优工具-Arthas(必备)
- 2025-10-23 工具推荐:大厂程序员人手必备的六款软件,你收藏好了吗?
欢迎 你 发表评论:
- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)

本文暂时没有评论,来添加一个吧(●'◡'●)