CodeQLPy 自动化挖掘漏洞

admin 2023年3月10日21:26:21评论69 views字数 1734阅读5分46秒阅读模式

CodeQLpy是一款基于CodeQL实现的自动化代码审计工具,目前仅支持java语言。

支持对多种不同类型的java代码进行代码审计,包括jsp文件、SpringMVC的war包、SpringBoot的jar包、maven源代码。

项目地址:

https://github.com/webraybtl/CodeQLpy

codeql 应该是在前年log4j2那次核弹级漏洞后火起来的

安装codeql

在安装之前需要安装codeql 和sdk,都需要最新版本

https://github.com/github/codeql-cli-binaries/releases

最好是放在同一目录下

~/CodeQL/codeql

然后设置环境变量

export PATH=/User/xxxx/CodeQL/codeql:$PATH

Windows 我的电脑-高级配置-环境变量-安装目录

加载配置文件

source一下/etc/profile

shell输入codeql 成功即可配置完成

             CodeQLPy 自动化挖掘漏洞

             

安装sdk

然后在 ~/CodeQL/codeql 下下载ql

git clone https://github.com/Semmle/ql


安装CodeQLpy

然后环境就安装成功,把py脚本文件也解压放到CodeQL目录下

CodeQLPy 自动化挖掘漏洞

             

安装依赖

pip3 install -r requirements.txt

然后需要进入config目录下修改ini配置

注:有空格需要加上引号

[codeql]              qlpath = /Users/xxxx/CodeQL/codeql/ql/java/ql/test              jdk8 = /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/bin/java              jdk11 = /Library/Java/JavaVirtualMachines/jdk-11.0.15.1.jdk/Contents/Home/bin/java              idea_decode_tool = lib/java-decompiler.jar              jd_decode_tool  = lib/jd-cli.jar              jsp_decode_tool = lib/jsp2class.jar              ecj_tool = lib/ecj-4.6.1.jar              tomcat_jar = lib/tomcat_lib              spring_boot_jar = lib/spring_boot_lib              decode_savedir = out/decode/              general_dbpath = out/database/              maven_savedir  = out/mvn/              decompile_type = jd              debug = on              model = fast              thread_num = 10              

[log] path = out/log/

生成数据库初始化

// -c 选项不加默认扫描java文件,加上即扫描class文件                // -t参数表示目标源码的路径,支持的源码类型是文件夹,jar包和war包                python3 main.py -t /Users/xxx/Desktop/SecExample-main

生成数据库

arch -x86_64 codeql database create out/database/SecExample-main --language=java --command="/bin/bash -c /Users/xxx/CodeQLpy/out/decode/run.sh" --overwrite

windows

codeql database create out/database/SecExample-main --language=java --command="run.cmd" --overwrite

当你完成第一步,它会把第二步的命令显示出来,直接复制即可。

CodeQLPy 自动化挖掘漏洞

               

开始扫描

指定out目录下生成的数据看目录

python3 main.py -d out/database/SecExample-main

扫描过程中,如发现漏洞,会高亮显示

CodeQLPy 自动化挖掘漏洞

               

等待一会,生成csv文件,打开就可以了

CodeQLPy 自动化挖掘漏洞

               

 然后打开代码,进行分析

原文始发于微信公众号(轩公子谈技术):CodeQLPy 自动化挖掘漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月10日21:26:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CodeQLPy 自动化挖掘漏洞http://cn-sec.com/archives/1597440.html

发表评论

匿名网友 填写信息