SRC 漏洞挖掘实战经验分享
一、公益 SRC 与合规边界
公益 SRC(Security Response Center)是白帽子提交随机发现漏洞的平台。参与者在漏洞盒子等平台上提交发现的漏洞,旨在帮助厂商修复安全问题。在挖掘 SRC 时,必须严格遵守法律与道德红线。
1. 安全操作规范
- SQL 注入:仅获取数据库名称以证明漏洞存在即可,严禁进一步获取敏感数据或进行破坏性操作。
- XSS 漏洞:仅获取自己的 Cookie 或 IP 等信息以证明漏洞存在,禁止利用 XSS 窃取他人信息。
- 信息泄露:若存在可下载敏感文件的情况,在漏洞确认后务必将文件删除,防止二次扩散。
- 其他原则:不越权访问,不破坏系统稳定性,不进行拒绝服务攻击(DoS)。
二、常见漏洞类型与验证方法
为了提升挖掘效率与得分,建议重点关注以下高危及中危漏洞类型。
1. SQL 注入 (SQL Injection)
SQL 注入通常被评定为高危漏洞,但在某些小型企业或难以利用的场景下可能被评为中危。挖掘 SQL 注入对提升榜单排名意义重大。
1.1 检测原理
在 ID 传参后构造 and 1=1 或 and 1=2,观察页面返回情况判断是否存在注入点。如果存在,首先测试显错注入,其次尝试其他类型的注入。
1.2 自动化与手工结合
一般使用 sqlmap 先跑取注入类型,再跑取数据库名。部分情况下 sqlmap 无法跑出库名或表名,需要手动注入。
- 场景 A:有库名,直接跑取库名后提交。
- 场景 B:Access 等数据库无库名概念,直接跑取表名。
1.3 工具使用示例
# 获取数据库名
python sqlmap -u "http://target.com?id=1" --dbs
# 获取表名(适用于 Access 等)
python sqlmap -u "http://target.com?id=1" --tables
# 防止访问过快被封禁 IP
python sqlmap -u "http://target.com?id=1" --delay=1
真实站点的 SQL 注入漏洞与靶场环境差别不大,主要区别在于可能存在 WAF 防火墙以及 IP 封禁机制。挖掘时需灵活调整请求频率和 User-Agent。
2. 跨站脚本攻击 (XSS)
XSS 漏洞通常分为 DOM 型、反射型和存储型三种。在实际挖掘中,反射型 XSS 较为常见。
2.1 危害等级
反射型 XSS 一般划分为低危漏洞,但积累大量此类漏洞有助于冲榜需求。
2.2 检测方法
构造 JS 弹窗语句在表单框内或 URL 参数中测试。
- URL 参数:
id=1<script>alert(1)</script> - 表单输入:在搜索框或评论框输入
<img src=x onerror=alert(1)>
由于 JS 弹窗语句形式多样,建议借助工具辅助构造 Payload。测试时需关注不同上下文(如 HTML 标签内、属性内、JS 字符串内)的过滤规则。
3. 信息泄露
此类漏洞在挖掘中遇到较多,主要包括直接访问 phpinfo.php 页面或下载含有敏感信息的配置文件。
3.1 常见泄露点
- 备份文件:
.bak,.old,.swp,.git目录等。 - 调试接口:
/debug,/admin/debug等路径。 - 源码泄露:
.svn,.git文件夹未隐藏。
建议在测试 SQL 注入站点时顺手检查上述路径,无需专门寻找,往往能意外发现敏感配置。
三、常用挖掘工具
工欲善其事,必先利其器。以下是挖掘过程中最常用的两类工具。
1. 爬虫与搜集工具
利用爬虫工具可以发现潜在的目标站点,尤其是通过谷歌语法未能找到的深层链接。
1.1 注入点批量搜集工具
该工具支持填入谷歌语法,例如 inurl:php?id=,用于搜索 URL 栏中存在的特定关键字。通过批量搜集,可以快速定位可能存在 SQL 注入或 XSS 的站点。
2. 扫描工具
长亭科技的 Xray 是一款常用的漏洞扫描器,可对站点进行自动化漏洞扫描。
2.1 使用场景
- 在构造传参确认站点存在 SQL 注入后,利用扫描器对站点进行全面扫描,获取其他潜在漏洞。
- 配合 Burp Suite 插件使用,提高扫描效率。
四、目标站点寻找策略
寻找合适的目标是 SRC 挖掘的关键环节,掌握高效的寻站方法对提升效率至关重要。
1. 搜索引擎语法 (Google Dorks)
利用谷歌镜像站或必应等支持高级语法的搜索引擎进行搜索。
- SQL 注入特征:
inurl:php?id= - 行业定向:结合能源、制药等行业词,例如
site:gov.cn inurl:php?id=。 - 漏洞盒子栏目:根据漏洞盒子提供的行业分类自行更改关键词。
2. 批量搜索工具
利用爬虫工具批量搜索站点,在内容框中构造谷歌语法信息,如 inurl:php?id= 以及变更行业内容(制药、建筑等)。该工具能快速找到存在 SQL 注入特征的站点,但也需注意工具误报的情况,需人工复核。
3. 子域名枚举
除了主站,子域名也是重要的攻击面。可使用 Subfinder、Amass 等工具进行子域名收集,检查子域名是否暴露了测试环境或旧版本系统。
五、实战经验与注意事项
1. 真实环境与靶场的差异
学院举办的 SRC 活动是锻炼能力的良好途径。真实站点与学院靶场在某些情况下相似,但也有显著不同。
- IP 封禁:在挖掘第一个真实站点时,利用 sqlmap 跑取数据库名字,结果跑不出且无法访问站点,经询问老师得知是因为 IP 被 Ban。这提醒我们在高频请求时必须注意频率控制。
- WAF 防护:真实环境通常部署了 Web 应用防火墙,需要学习绕过技巧。
2. 新手建议
对于刚接触网络安全的小白,SRC 是一个获取真实站点挖掘经验的重要平台。虽然有人声称 SRC 技术含量低,但经过一个月的实战挖掘,可以发现这是一个适合学完课程或第一次参加的同学积累经验的平台。
3. 报告撰写规范
提交漏洞时,请确保报告包含以下内容:
- 漏洞标题:清晰描述漏洞类型及位置。
- 复现步骤:详细的操作步骤,包括 URL、参数、Payload。
- 影响范围:说明漏洞可能造成的后果。
- 修复建议:提供具体的代码修改或配置建议。
六、总结
SRC 漏洞挖掘是一个持续学习和实践的过程。通过掌握 SQL 注入、XSS、信息泄露等常见漏洞的原理与利用方法,配合有效的工具与寻站策略,可以逐步提升挖掘能力。同时,务必遵守法律法规,坚持白帽精神,共同维护网络空间的安全。
注:本文内容仅供技术交流与学习使用,请勿用于非法用途。


