最近使用别人写好的codeql工具去审计一些古老的oa代码,有部分使用感觉还不错,虽然审计结果也有一些遗漏
不要完全相信工具,也不要完全相信自己。
工具地址
工具地址:https://github.com/webraybtl/CodeQLpy
选择它原因
我用这个的原因是:它可以扫描.class文件 .jsp文件,(支持对多种不同类型的java代码进行代码审计,包括jsp文件、SpringMVC的war包、SpringBoot的jar包、maven源代码)
工具部署&使用
使用解析:https://github.com/webraybtl/CodeQLpy/blob/master/README.md
工具部署也比较简单(大致如下)
-
安装codeql
-
使用python安装依赖
-
配置jdk8 jdk11 然后把配置文件补充好
-
数据库初始化
-
生成数据库
-
扫描
使用效果
下面只是扫描结果一部分。
会显示:
source sourcefunction sink sinkfunction sinkPath Plugin(漏洞名称)
-
source:我们可以简单的称之为输入,也就是information flow的起点
-
sink:我们可以称之为输出,也就是information flow的终点
-
扫描速度:500MB左右的代码 15-30分钟。不快也不慢
一般java项目各个逻辑运行的入口点就是jsp,servlet,controller
原文始发于微信公众号(天才少女Alpha):codeql 使用