快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → CodeQL-安装与配置体验

CodeQL-安装与配置体验

时间:2022-10-06 16:08:07人气:作者:快盘下载我要评论

安装与配置

下载Cli文件

根据不同操作系统下载,下载后配置到cli可执行文件到环境变量

Releases · github/codeql-cli-binaries · GitHub

CodeQL-安装与配置体验

下载codeql 的标准库,并且将整个目录添加到VScode工作区

https://github.com/github/codeql

VScode下载插件

下载codeQL插件并且配置cli路径

开始体验demo

生成分析库

git clone https://github.com/JoyChou93/java-sec-code

cd java-sec-code

codeql database create qldb-test --language=java

安装与配置体验

导入到vscode

from a folder选择我们刚才创建好的qldb-test

安装与配置体验

 导入我们生成的qldb-test

然后在工作去新建目录;名字随机);创建文件;名字随机)javaseccode-sqlinjectquery.ql;创建qlpack.yml

yml内容

name: demo-query
version: 0.0.0
libraryPathDependencies: codeql-java

ql内容

import java
import semmle.code.java.dataflow.DataFlow
import semmle.code.java.dataflow.FlowSources

class SqlinjectConfiguration extends TaintTracking::Configuration{
    SqlinjectConfiguration() {
        this = ;java-sec-code SqlinjectConfiguration;
    }

    override predicate isSource(DataFlow::node source){
        source instanceof RemoteFlowSource
    }

    override predicate isSink(DataFlow::Node sink){
        exists(Call call |
            sink.asExpr() = call.getArgument(0) and
            call.getCallee().getQualifiedName() = [;UserMapper.findByUserNameVuln01;,;UserMapper.findByUserNameVuln02;,;UserMapper.findByUserNameVuln03;]
        )
      }
    
    override predicate isSanitizer(DataFlow::Node sink){
        exists(Call call |  
            sink.asExpr() = call.getArgument(0) and
            call.getCallee().toString() = ;sqlFilter;
            )
    }

}

from SqlinjectConfiguration dataflow, DataFlow::Node source, DataFlow::Node sink
where dataflow.hasFlow(source, sink)
select source,sink

执行ql

CodeQL

 运行结果CodeQL

 点击运行后跳转到了对应源码处;找对对应的可能存在漏洞的位置

安装与配置体验

 参考;

codeql白盒代码审计工具初体验

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。