HEMA网站盲SQL注入漏洞分析
技术背景
现代网站普遍采用数据库存储数据,服务器应用通过SQL查询语句与数据库交互。当存在查询构造缺陷时,攻击者可能通过注入恶意SQL代码获取敏感数据,这类漏洞被称为SQL注入(SQLi),在漏洞赏金计划中通常属于高危漏洞。
漏洞发现过程
在HEMA照片项目服务子域fasteditor.hema.com发现可疑API端点:
|
|
测试发现orderby参数存在SQL注入特征:
- 插入单引号导致返回PDO错误
- 错误信息显示原始SQL片段且未转义
漏洞利用技术
SQLMap工具检测确认存在三种攻击方式:
- 布尔盲注:通过结果排序差异推断数据
- 堆叠查询:追加执行额外SQL语句
- 时间盲注:利用SLEEP()函数时序分析
手工Payload构造
由于防火墙限制,最终采用时间盲注技术构造特殊payload:
|
|
关键技术点:
- 使用FROM/FOR替代被过滤的逗号
- 通过Burp Intruder自动化字符爆破
- 响应时间差异判断字符命中
漏洞验证结果
成功获取数据库用户信息:
|
|
证明该端点存在可被利用的SQL注入漏洞。
修复建议
- 使用参数化查询替代字符串拼接
- 实施严格的输入验证
- 建立SQL查询日志审计机制
时间线
- 2020-05-11:漏洞发现并修复
- 2020-05-15:HEMA确认漏洞并发放奖励
- 2020-08-06:报告公开披露