白帽子漏洞挖掘实战经验:资产收集与常见漏洞利用
引言
在网络安全领域,漏洞挖掘(Vulnerability Hunting)是提升系统安全性的重要手段。对于安全研究人员而言,掌握系统的资产信息、理解常见漏洞的原理及利用方式,不仅能帮助发现潜在风险,更能促进开发团队进行有效的修复。本文将基于实际测试经验,详细分享从资产收集到常见漏洞检测的完整流程,重点涵盖弱口令、框架漏洞(如 Struts2、Java 反序列化)、SSRF 及短信轰炸等场景,并提供相应的防御建议。
一、资产收集(Reconnaissance)
资产收集是漏洞挖掘的第一步,目标是尽可能全面地获取目标域名的相关信息。信息越丰富,发现隐藏入口的概率越高。
1. 子域名枚举
子域名往往承载着不同的业务功能,且可能配置不当。常用的收集方法包括:
- 字典爆破:使用常用子域名字典配合 DNS 解析工具进行扫描。
- 证书透明度日志(CT Logs):查询 SSL 证书申请记录,获取历史子域名。
- 搜索引擎语法:利用 Google Hacking 或 Bing Dork 搜索特定文件类型或目录。
推荐使用专业的子域名扫描工具,配置合适的线程数以提高效率。对于内网环境,需确认 DNS 服务器地址以确保解析准确。
2. 端口与服务探测
发现子域名后,需进一步探测开放端口及服务版本。Nmap 是业界标准的端口扫描工具。
- 基础扫描:
nmap -sS -sV <target>进行 SYN 扫描并识别服务版本。 - 快速扫描:
nmap -T4 -A -v <target>开启激进模式,自动识别 OS 和脚本。 - 防火墙绕过:若遇到防火墙拦截,可尝试
-Pn参数跳过主机发现,直接扫描端口。
此外,还可以结合 URL 采集工具 对搜索引擎结果中的链接进行提取,分析是否存在未收录的后台接口或测试页面。
3. 目录与文件扫描
针对 Web 应用,目录结构往往暴露敏感信息。可使用 Dirsearch 或 Gobuster 等工具遍历常见路径,重点关注 .git, .svn, .bak, config.php 等配置文件。
二、认证与权限漏洞
1. 弱口令检测
弱口令依然是导致系统失守的主要原因之一。检测策略包括:
- 默认凭证:尝试
admin/admin,root/root,test/test等常见组合。 - 字典爆破:针对登录接口,使用 Burp Suite 的 Intruder 模块加载密码字典进行暴力破解。
- 逻辑判断:观察返回包差异。如果提示'用户名不存在'与'密码错误'不同,说明存在用户枚举风险。
注意:前端加密(如 MD5)并不能真正保护密码,攻击者可在抓包后解密或直接发送密文。验证码机制若设计薄弱,也可能被绕过。
2. 验证码绕过
验证码旨在防止机器自动化操作。但在实际测试中,部分验证码仅做形式校验:
- 无后端验证:仅在前端 JS 校验,可通过修改请求包绕过。
- 固定验证码:某些系统验证码不随请求变化,可直接复用。
- 图形识别:对于复杂图形验证码,可结合 OCR 技术或第三方打码平台进行自动化处理。


