Web自动化漏洞检测工具之 Xray编写自定义格式POC

POC介绍

一段漏洞证明的代码,不像exp,poc是无害的。

最简单的poc由name、rules、details构成,一个poc里rules下可能有多个规则,在测试的时候会对规则进行验证,全部验证通过则表示漏洞存在,其中一个验证不通过,后面的规则也不会进行验证,此时表示漏洞不存在。

一、准备工作

1、在VS Code安装YAML插件:

Web自动化漏洞检测工具之 Xray编写自定义格式POC_第1张图片

2、进入vs code的设置里找到扩展里的yaml,找到:

Web自动化漏洞检测工具之 Xray编写自定义格式POC_第2张图片

3、在{}中加入:并保存

"yaml.schemas": {
        "https://chaitin.github.io/xray/assets/poc/yaml-poc-schema.json": "poc-yaml-*.yml"
    }

此时就规定了poc要以poc-yaml-开头,.yml结尾,这样创建 poc-yaml- 开头的 yml 为拓展名的文件的时候,就可以自动提示了。

二、最简单的POC

1、rules用来改造请求内容,expression必须是布尔型的,detail 是一个键值对,内部存储需要返回给 xray 引擎的内容,如果无需返回内容,可以忽略。这里不对rules规则语法进行介绍。

Web自动化漏洞检测工具之 Xray编写自定义格式POC_第3张图片

利用以上poc会对请求改成get提交方式,将请求路径改成根路径,如果返回的状态是200,说明存在我们定义的这个漏洞poc。

并且输出漏洞信息detail。

2、运行我们定义的poc   poc-yaml-example.yml

将poc文件放到xray目录下,使用命令:

./xray.exe webscan --plugins phantasm --poc ./poc-yaml-example.yml --listen 127.0.0.1:7777

对单个url进行探测扫描:

./xray.exe webscan --plugins phantasm --poc ./poc-yaml-example.yml --url http://example.com

 

更多关于poc的编写可以查看:https://xray.cool/xray/#/guide/high_quality_poc

你可能感兴趣的:(#,漏洞扫描之Xray,只有走过才知道多难)