前言
最近在学习如何批量验证POC,期间也参考了不少文章,于是萌生了整合出一个自动化批量挖洞的想法。
最终实现效果为:仅通过一条Fofa搜索语法,就可以挖出可供提交公益SRC的漏洞
流程包括:
1、前期的信息收集(FOFA)
2、中期的漏洞验证(Python批量脚本)
3、后期的IP反查(Python批量脚本)
本次采用"用友 U8 OA SQL注入漏洞"来演示整个自动化流程。
这个漏洞的POC很简单,这里直接附上,详情需要的话网上有很多。
POC:http://IP:PORT/yyoa/common/js/menu/test.jsp?doType=101&S1=(SELECT%20MD5(1))
信息收集
众所周知,信息收集是渗透测试中最关键的环节。
信息收集阶段我们的主要目标是:
1、找到网上公开的漏洞POC
2、找出可能存在该漏洞的IP列表
这里我先推荐2个我经常逛的漏洞文库。
白阁文库
PeiQi WiKi-POC文库
文章后续的POC也参考了文库中的信息。
正文开始
本次采用Fofa搜索引擎来收集可能存在漏洞的IP。
Fofa语句:title="用友U8-OA"
考虑到后续需要把Fofa收集到的IP列表导出给脚本批量验证,这里使用Github开源工具Fofa-collect
这个工具使用方式很简单,只需要配置好你的Fofa邮箱和API,就可以直接输入Fofa语法,得到查询结果。
我的使用流程如下:
1、在Fofa-collect中输入Fofa语法 -> 得到IP:PORT列表
2、导出保存为IP.txt
至此,信息收集流程结束。
POC批量验证
POC批量验证阶段我们的主要目标是:
1、编写或使用POC,找出IP列表中真正存在漏洞的IP
POC批量验证的脚本在PeiQi文库的POC基础上进一步改写,支持批量导入IP.txt,并导出存在漏洞的URL,保存为urls.txt。
原POC链接
import requests
import re
from requests.packages.urllib3.exceptions import InsecureRequestWarning
ip = [] # 用于存放存在漏洞的URL地址
def title():
print('+------------------------------------------')
print('+
评论