Web 安全漏洞挖掘实战经验与入门指南
前言
Web 安全是一个不断演进的领域,漏洞挖掘是提升安全技能的重要途径。本文将分享从信息收集到漏洞验证的全流程经验,帮助初学者建立正确的安全测试思维,理解 SRC(Security Response Center)运作机制,并提供实用的工具使用建议。
一、心态与原则
1.1 持久战心态
SRC 是一场多对多的较量,对手包括研发、测试、运维及安全人员。漏洞挖掘往往需要长时间的信息积累和尝试。面对连续数日无果的情况,保持耐心至关重要。只有坚信自己能够发现潜在风险,才能在漫长的测试过程中取得成果。
1.2 法律与道德底线
在进行任何测试之前,必须严格遵守法律法规。仅在授权范围内进行测试,明确测试边界。超出范围的测试可能被视为非法入侵。对于 SQL 注入等高危操作,严禁读取过多数据或破坏数据库完整性。遵循安全测试规范,避免对生产环境造成实质性危害。
二、测试准备
2.1 理解平台规则
不同 SRC 平台对漏洞评分标准不同。提交前务必阅读《漏洞提交规范》,了解哪些漏洞类型不被收录。例如,某些平台不接收反射型 XSS,若盲目尝试则浪费时间。第一步是研读平台的漏洞评分标准。
2.2 确认测试范围
SRC 平台会有规定的众测任务,包含域名限制。超出的域名不会给漏洞审核,且存在非法测试的风险。IP 段的收集不能仅停留在表面,需要通过 IP 分布来确定核心段、边缘段、云服段等。注意目标厂商开发喜欢使用的框架,可通过招聘网站信息辅助判断技术选型。
三、信息收集
3.1 子域名枚举
在详细了解了域名范围后,需对旗下域名进行信息收集。利用在线子域名收集工具或本地软件(如 Subfinder, Amass)进行爆破。重点关注历史解析记录,发现隐藏资产。扩展域名的查找通常通过域名 Whois 查询注册人、联系邮箱进行关联查找。
3.2 端口与服务探测
IP 段的收集需要结合 IP 分布确定核心段。使用 Nmap 等工具扫描开放端口,识别 Web 服务版本、数据库端口及中间件信息。边缘段中一般会存在测试机器,这些机器往往未关闭 Debug 模式,登录账号通常为弱口令,是重要的突破口。
3.3 技术栈指纹识别
通过 HTTP 响应头、页面源码特征判断 CMS 框架、编程语言及服务器类型。例如,查看 HTML 中的 meta 标签、JS 引用路径等。知道目标厂商使用什么框架有助于快速定位已知漏洞。
四、漏洞挖掘方向
4.1 常见漏洞类型
- XSS:检查输入框、URL 参数是否过滤不当。思考能否拿到 Cookie,或结合 CSRF 将漏洞变成 XSRF 造成蠕虫传播。
- SQL 注入:关注搜索框、登录接口,注意字符过滤。不要脱裤,遵守数据读取限制。
- 越权访问:测试水平越权(修改 ID)和垂直越权(普通用户访问管理员功能)。
- 文件上传:检查后缀名、MIME 类型校验逻辑。这是新手常见的入手点。
- 逻辑漏洞:关注支付金额校验、密码找回流程、验证码绕过等。每个网站都或多或少会存在一些逻辑漏洞。
4.2 危害扩大思路
如果不是众测挖到漏洞后不建议直接提交,而是思考如何才能扩大战果。例如挖到 XSS 后,思考能不能拿到 Cookie?如果不能退一步可以找一个 CSRF 将漏洞变成 XSRF。在测试机器通过弱口令进去后能不能 Getshell,拿到 Shell 后进行审计又是十几个高危。在对只有登录框界面进行测试时一定要多注意子目录以及接口。IP 打开后 403、404 不要忽略,先扫目录,往往高危存在于许多低危的并发利用中。
五、工具使用建议
5.1 抓包代理
推荐使用 Burp Suite 进行流量拦截与修改。熟悉 Proxy、Repeater、Intruder 模块功能。Burp 上可以添加很多插件实现不同的功能,配合 Chrome 和 Firefox 浏览器使用。SwitchyOmega 插件可管理代理配置。
5.2 轻量级扫描器
谨慎使用重型扫描器(如 AWVS, AppScan),以免触发 WAF 封禁 IP。建议使用 BBscan 等工具进行目录扫描,重点放在路径的扫描,比如有没有 403、404 的站点,爆破 API 接口端点、路径一些。不要太依赖于扫描器,强是强,但是还是自己来的踏实。


