WEB 漏洞挖掘思路与信息收集指南
本文介绍了 WEB 漏洞挖掘中的信息收集流程,涵盖子域名探测、WAF 识别、搜索引擎语法(Google Hack、GitHub、FOFA)、中间件检测、真实 IP 获取、端口扫描及常见服务漏洞分析。通过工具如 OneForAll、Nmap、Sqlmap 等进行资产发现与筛选,最终整理去重存活资产以定位潜在漏洞目标。内容包含具体命令示例与 Python 去重脚本,强调合法合规使用。

本文介绍了 WEB 漏洞挖掘中的信息收集流程,涵盖子域名探测、WAF 识别、搜索引擎语法(Google Hack、GitHub、FOFA)、中间件检测、真实 IP 获取、端口扫描及常见服务漏洞分析。通过工具如 OneForAll、Nmap、Sqlmap 等进行资产发现与筛选,最终整理去重存活资产以定位潜在漏洞目标。内容包含具体命令示例与 Python 去重脚本,强调合法合规使用。

信息收集是 WEB 渗透测试中最关键的第一步。WEB 漏洞往往存在于边缘资产、隐蔽的子域名或未配置安全的中间件中。本文详细记录了信息收集的核心流程、工具使用及常见资产的排查方法,旨在为安全研究人员提供系统化的操作指南。
在渗透过程中,子域名的发现能极大扩展攻击面。建议将收集到的子域名统一整理至文本文件中进行去重处理。
若目标存在 Web 应用防火墙(WAF),扫描时需调整策略,如降低线程数、增加请求延时或使用代理池轮换 IP。
python sqlmap.py -u "<URL>" --identify-waf --batch
wafw00f <URL>
wafw00f -i domains.txt -o output_waf.txt
aaa=1 union select 1,2,3
api.py 配置 API 密钥以获取更多信息。subdomain、layer 等工具进行字典爆破。利用高级搜索指令快速定位管理后台、上传点、注入页面及泄露文件。
# 管理后台
intext:管理 | intext:后台 | inurl:admin | intitle:登录
# 上传漏洞
inurl:upload | inurl:file
# 注入页面
inurl:php?id=
# 配置文件泄露
ext:xml | ext:conf | ext:cnf | ext:ora | ext:ini
# 数据库文件
ext:sql | ext:mdb | ext:db
# 备份文件
ext:bak | ext:old | ext:backup | ext:swp
# 公开文档
filetype:doc | filetype:xls | filetype:pdf
in:name test # 仓库标题
in:descripton test # 仓库描述
stars:>3000 test # 热门项目
language:java test # 特定语言
license:apache-2.0 test # 开源协议
header # 响应头关键词
body # 正文关键词
cert # 证书查询
icon_hash # 网站图标搜索
&& # 逻辑与
|| # 逻辑或
wappalyzer (浏览器插件)、whatweb (Kali 自带) 或 bscan 识别技术栈。IP="IP/24"
nmap -sS -O -P0 -oG - IP | awk '/open/{print $2}'
使用 nmap 进行批量或精准扫描,重点关注弱口令、未授权访问及远程执行风险。
| 服务 | 默认端口 | 常见风险 |
|---|---|---|
| MSSQL | 1433 | 弱口令、提权、远程执行 |
| SMB | 445 | 弱口令、后门植入 |
| SSH | 22 | 弱口令、后门 |
| Redis | 6379 | 未授权访问、写文件 |
| MySQL | 3306 | 弱口令、敏感信息泄露 |
| MongoDB | 27017 | 未授权访问 |
| FTP | 21 | 匿名访问、可写 |
对收集到的子域名列表进行清洗,去除重复项。以下 Python 脚本示例:
import sys
def run(file):
with open(file, 'r', encoding='utf-8') as f:
lines = f.readlines()
unique_lines = set(lines)
with open('deduped.txt', 'w', encoding='utf-8') as out:
for line in unique_lines:
out.write(line.strip() + '\n')
if __name__ == '__main__':
if len(sys.argv) > 2 and sys.argv[1] == '--target':
run(sys.argv[2])
else:
print("Usage: python dedup.py --target filename")
使用 Bscan 等工具批量探测子域名存活状态,筛选出高价值目标。
信息收集阶段的目标是尽可能全面地掌握目标资产分布。通过组合使用搜索引擎、空间测绘平台及本地扫描工具,结合人工复核,可有效缩小测试范围。在实际操作中,请务必遵守相关法律法规,仅在授权范围内使用技术能力。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online