本文章内容仅用于网络安全研究学习,请勿用于任何违法犯罪活动。
声明:本文内容搬运自互联网。
漏洞类型:SQL注入

本文将复盘在一个梅赛德斯-奔驰经典车零件销售网站上发现并验证一处SQL注入漏洞的全过程。该漏洞已在相关漏洞披露计划(VDP)框架下通过Bugcrowd平台负责任地报告,并已得到厂商修复。

目标发现与初步测试
在对目标资产进行侦察后,我们锁定了一个专门销售经典汽车零件的子域名:https://██████.mercedes-benz-classic.com。该网站提供零件搜索功能,这通常是潜在的交互点。
使用Burp Suite拦截流量进行初步分析,发现搜索操作会向/███/search端点发送POST请求。请求体包含多个参数,其中███Search[search_series]参数引起了我们的注意。
漏洞探测与确认
将请求发送至Burp Repeater进行手动测试。
步骤一:触发SQL错误
在███Search[search_series]参数值后添加一个单引号'。
███Search[search_series]=teste'
服务器响应:返回500内部服务器错误,并直接暴露了详细的SQL语法错误信息,这表明用户输入被直接拼接到了SQL查询语句中,是典型的SQL注入漏洞特征。
步骤二:验证注入点
尝试插入双引号进行闭合测试。
███Search[search_series]=tester’'
服务器响应:返回200 OK,页面显示正常(未找到结果)。这进一步确认了参数值被数据库解析,且我们可以通过构造输入来影响查询逻辑。
利用验证与影响评估
为全面评估漏洞严重性并协助复现,我们使用自动化工具SQLMap进行深入验证。
SQLMap命令示例(概念验证):
sqlmap -u "https://██████.mercedes-benz-classic.com/███/search" \
--data="███Search[search_series]=test" \
-p "███Search[search_series]" --risk=3 --level=5 --batch
工具检测结果:
SQLMap成功识别出该注入点支持多种攻击技术:
- 基于错误的SQL注入
- 基于布尔值的盲注
- 基于时间的盲注
- 后端数据库管理系统为MySQL
潜在危害:
攻击者利用此漏洞可:
- 枚举数据库结构(库、表、列名)。
- 提取存储的敏感数据(如用户信息、业务数据等)。
- 在特定条件下,可能对数据进行篡改。
部分测试Payload示例:
- 错误触发:
teste'
- 布尔盲注:
test' AND 1=1 --
- 时间盲注:
test' AND SLEEP(5) --
易受攻击参数:███Search[search_series]
总结与启示
本次对奔驰经典车零件网站渗透测试的过程,清晰地展示了一处由未过滤用户输入导致的SQL注入漏洞。它再次强调了在Web应用开发中,对所有用户输入进行严格的验证、转义或使用参数化查询(预编译语句)的极端重要性,尤其是在搜索、筛选、登录等与数据库直接交互的功能模块中。通过手动测试与自动化工具相结合的方式,可以高效、准确地识别此类安全风险。
|