自动化批量挖掘 SRC 漏洞实战指南
前言
在网络安全测试中,手动对大量目标资产进行扫描效率低下且容易遗漏。通过整合资产采集、爬虫抓取、流量代理与漏洞扫描工具,可以实现自动化批量挖掘流程。本文详细介绍如何利用 Fofa、Rad、Burp Suite 和 Xray 构建一套高效的自动化漏洞扫描工作流。
核心原理
该方案的核心逻辑是将目标资产交由爬虫工具(Rad)爬取,产生的 HTTP/HTTPS 请求流量经过 Burp Suite 代理,再转发给被动扫描器(Xray Passive Scanner)进行分析。通过 Python 脚本串联各环节,实现从资产发现到漏洞检测的流水线作业。
所需工具清单
- Fofa:用于批量采集目标域名或 IP 资产(建议使用会员账号以获取更丰富数据)。
- Rad:由 Chaitin 开发的浏览器爬虫工具,支持无头模式,适合批量抓取。
- Chrome/Chromium 浏览器:Rad 默认依赖浏览器内核。
- Burp Suite:作为中间人代理,负责拦截、修改及转发流量。
- Xray:强大的漏洞扫描器,需开启被动扫描模式监听特定端口。
- Python 环境:用于编写数据处理脚本和批量执行脚本。
步骤一:资产采集与清洗
1.1 使用 Fofa 采集
以教育行业(edu.cn)为例,在 Fofa 搜索框输入以下语句进行初步筛选:
domain=".edu.cn"
导出结果后,通常会得到包含 IP 地址和域名的列表。为了适配 Rad 的输入规则,需要确保每条记录都带有协议头(http:// 或 https://)。
1.2 资产格式化处理
原始导出的数据往往只包含 IP 或域名,直接放入 Rad 无法识别。我们需要编写 Python 脚本批量添加协议前缀。
脚本功能: 读取包含 IP 或域名的文本文件,为每一行添加 https:// 前缀,并保存为新文件。
import os
def process_assets(input_file, output_file):
try:
with open(input_file, 'r', encoding='utf-8') as f_in:
lines = f_in.readlines()
processed_lines = []
for line in lines:
target = line.strip()
if not target:
continue
# 如果已有协议头则跳过,否则添加 https
if not target.startswith('http://') target.startswith():
target = + target
processed_lines.append(target)
(output_file, , encoding=) f_out:
f_out.write(.join(processed_lines))
()
Exception e:
()
__name__ == :
process_assets(, )


