起因在这篇文章关于漏洞利用框架
个人觉得这么多漏洞利用工具中,抛开POC多少的因素,MYExploit是比较好的,但是要加个漏洞没一定java基础可搞不定。
写了这么个工具,有几种无法直接修改payload的漏洞不适用于这款半自动化工具
1、反序列化漏洞,反序列化payload不是可视化字符,无法通过直接改包利用,需要重新生成字节码,只用一条POC可能只能上传一个文件,或者执行一条命令。
2、Sql注入类漏洞,某框架过滤了某些字符,研究出绕过方法后注入,而注入大多需要大量包去跑。还不如写个tamper,在结果框直接输出sqlmap语句。
3、不定参数类漏洞,例如,某个参数需要时间戳加密,或者随着HTTP包某个元素修改而修改,这种更是和脚本直接跑。
这三种比较适用于MYExploit这类工具的逻辑,加漏洞加Controller就行,代码里写好利用链,该传文件传文件,该执行命令执行命令。只是需要一定基础。
下面工具介绍和github上一样。
半自动化漏洞利用工具,并非漏洞扫描工具,仅仅算是组合POC然后发包的工具。
Components
Components => 组件
所有组件文件放置在POC文件夹下,一个组件一个文件夹。例如
C:OffensiveAuxiliary\POC>tree /F
├─Nacos
│ users-UnAuth-Add-User-Vul.json
│
└─用友畅捷CRM
get_usedspace-php-Sql-Inject-Vul.json
VulName
VulName => 漏洞名称
一个漏洞一个json文件,文件随便自己认识就好
选择 "All" 会GET请求所有漏洞路径,返回200即认为漏洞存在,因为开头说了并非扫描工具,而是辅助攻击的
Max Timeout
Max Timeout => 超时
默认为3秒,可选1-10
Proxy For BurpSuite
默认关闭,利用漏洞时打开
漏洞模板
尽量只留需要使⽤的Header,把HOST等字段去掉,避免使⽤时将Cookie,HOST等信息刷掉。
Default.json
{
"step": 3,
//漏洞描述,漏洞利用成功时会输出到结果框
"description": "\u6d4b\u8bd5\u63cf\u8ff0",
//漏洞利⽤,LIST -> dict
//漏洞利⽤需要⼏个请求就写⼏个dict
"exploit": [
{
// 请求⽅法
"method": "GET",
// 漏洞路径
"path": "/testpath/test.php",
// 请求头 -> dict 无特殊要求不用加UA
"header": {
"User-Agent": "i'm come in"
},
// 请求体 Base64后的String
"body": ""
},
{
"method": "POST",
"path": "/testpostpath/test.php",
"header": {
"User-Agent": "i'm come in",
"Content-Type": "text/xml"
},
"body": "dGVzdFBPU1RwYXJhbXM="
},
{
"method": "PUT",
"path": "/",
"header": {
"User-Agent": "i'm come in"
},
"body": "PD9waHAgcGhwaW5mbygpOz8+"
}
]
}