Web 安全 SRC 漏洞挖掘与提交实战流程
1. 信息搜集与漏洞发现
在渗透测试中,信息搜集是决定后续实战效果的关键环节。搜集到的资产信息越多,发现潜在漏洞的概率就越大。无论是 SQL 注入、逻辑漏洞、支付漏洞还是越权漏洞,其核心思路往往是一致的:利用搜索引擎语法或资产测绘平台进行精准定位。
1.1 搜索引擎语法(Google Dorks)
通过 Google 高级搜索语法可以快速定位特定类型的站点或参数。
-
SQL 注入探测:针对 ASP/PHP 等常见语言,可以使用
inurl配合参数特征。- 示例:
inurl:asp?id=或inurl:php?id= - 进阶:结合行业关键词,如
inurl:asp?id= 公司,可缩小范围至特定企业站点。 - 注意:不同参数名需灵活调整,如
id,cid,newsid等,避免重复提交相同目标。
- 示例:
-
后台管理页面:后台入口通常具有固定命名规则。
- 示例:
inurl:admin.php,inurl:login.asp - 建议:添加
site:限定域名,或使用intitle:"登录"筛选。
- 示例:
-
商城与支付系统:寻找积分商城或支付接口。
- 示例:
info:商城 AND 积分商城 - 提示:大厂防护较严,建议关注中小型企业的在线商城,留意是否有 PayPal 等第三方支付功能集成。
- 示例:
1.2 资产测绘平台(FOFA)
对于通杀型漏洞,使用 FOFA 等资产测绘工具效率更高。首先需明确目标 CMS 的已知漏洞特征。
- CMS 漏洞库:参考公开漏洞库,了解常见 CMS(如 Discuz, WordPress 等)的漏洞指纹。
- 查询语法:根据 CMS 版本或特征编写查询语句,快速批量扫描潜在风险点。
2. 漏洞挖掘实践
找到目标后,需进行验证性测试。以下以 SQL 注入和逻辑漏洞为例说明具体流程。
2.1 SQL 注入检测
- 参数识别:访问 URL 并观察是否存在数字或字符串传参(如
?id=1)。 - 报错测试:输入单引号
'观察是否出现数据库错误信息。- 若报错,说明存在注入可能。
- 布尔逻辑测试:
- 输入
AND 1=1与AND 1=2,对比页面返回内容差异。 - 若页面显示不一致,确认为盲注或时间盲注。
- 输入
- 自动化工具:确认注入点后,可使用 sqlmap 进行深度探测。
- 命令示例:
sqlmap.py -u "http://target.com?id=1" --dbs - 注意:指定参数
-p可提高扫描速度,但需确保环境合法合规。
- 命令示例:
- WAF 绕过:部分站点部署了 WAF,可能需要尝试编码绕过或修改 User-Agent。
2.2 逻辑漏洞与越权
逻辑漏洞通常涉及业务设计缺陷,难以通过自动化脚本完全覆盖。


