记一次HW供应链攻击到SQL注入新用法
字数 1192 2025-08-09 17:09:29

供应链攻击与SQL注入新用法实战分析

0. 前言

本文记录了一次通过供应链攻击结合SQL注入技术成功渗透目标系统的实战案例。攻击者在直接攻击目标系统未果后,通过关联公司信息找到其他使用相同系统的站点,利用未授权接口和创新的SQL注入技术成功获取系统权限。

1. 供应链攻击思路

1.1 攻击背景

  • 直接攻击目标站点尝试了弱口令、SQL注入等多种方法均未成功
  • 发现页脚显示"xxxxx信息科技有限公司"的banner

1.2 攻击方法

  1. 在FOFA等网络空间测绘平台搜索相同banner信息
  2. 找到使用相同系统但未参与攻防演练的其他厂商站点
  3. 这些站点可能安全防护较弱,整改不彻底

2. 未授权接口发现

2.1 接口信息

  • 路径:/HanNeng/SelectHelp
  • 请求方法:POST
  • 参数:
    Type=User
    Field=UserName
    Con=
    
  • 请求头需包含:X-Requested-With: XMLHttpRequest

2.2 接口特点

  1. 存在未授权访问漏洞
  2. Field参数存在SQL注入漏洞

3. SQL注入分析与利用

3.1 注入点确认

  • 后端SQL语句部分结构:
    select count(*) from tb_User where IsDeleted!=1 and [Field参数值]
    
  • Field参数直接拼接为列名,存在注入

3.2 WAF绕过挑战

  • 直接使用sqlmap等工具会被WAF拦截
  • 传统注入方法受阻

3.3 创新注入方法

  1. 分析发现Con参数用于模糊匹配,实际SQL可能是:
    select count(*) from tb_User where IsDeleted!=1 and userid like '%可控点%'
    
  2. 利用Field参数控制查询列,结合Con参数进行盲注:
    • 设置Field=password查询密码列
    • 通过Con参数逐字符爆破密码hash值
    • 观察返回的pageCount数量变化判断猜测是否正确

3.4 注入注意事项

  1. 模糊匹配使用%通配符,注入出的数据前后可能包含其他字符
  2. 需要系统存在多个用户才能通过数量变化判断注入结果
  3. 注入出的密码是MD5等哈希值,需要后续破解

4. 攻击流程总结

  1. 通过供应链信息找到同系统其他站点
  2. 发现未授权接口/HanNeng/SelectHelp
  3. 确认Field参数存在SQL注入
  4. 绕过WAF使用Field+Con参数组合进行盲注
  5. 逐字符获取用户密码哈希
  6. 破解哈希获取明文密码
  7. 使用获取的凭证登录后台系统

5. 防御建议

  1. 供应链安全

    • 统一组件/系统在不同客户处的安全基线
    • 定期检查所有使用系统的客户安全状况
  2. 接口安全

    • 实施严格的权限控制,避免未授权访问
    • 对敏感接口增加身份验证
  3. SQL注入防护

    • 使用参数化查询或ORM框架
    • 对用户输入进行严格过滤和类型检查
    • 避免直接拼接用户输入到SQL语句
  4. 密码安全

    • 使用强哈希算法(如bcrypt、PBKDF2等)
    • 为每个用户使用独立salt
    • 定期更换密码
  5. WAF配置

    • 更新规则库覆盖新型注入技术
    • 对模糊查询等特殊场景进行针对性防护

本案例展示了如何通过创新的SQL注入技术绕过传统防御措施,强调了全面安全防护的重要性,不仅需要关注直接攻击面,还需考虑供应链相关的间接攻击路径。

供应链攻击与SQL注入新用法实战分析 0. 前言 本文记录了一次通过供应链攻击结合SQL注入技术成功渗透目标系统的实战案例。攻击者在直接攻击目标系统未果后,通过关联公司信息找到其他使用相同系统的站点,利用未授权接口和创新的SQL注入技术成功获取系统权限。 1. 供应链攻击思路 1.1 攻击背景 直接攻击目标站点尝试了弱口令、SQL注入等多种方法均未成功 发现页脚显示"xxxxx信息科技有限公司"的banner 1.2 攻击方法 在FOFA等网络空间测绘平台搜索相同banner信息 找到使用相同系统但未参与攻防演练的其他厂商站点 这些站点可能安全防护较弱,整改不彻底 2. 未授权接口发现 2.1 接口信息 路径: /HanNeng/SelectHelp 请求方法:POST 参数: 请求头需包含: X-Requested-With: XMLHttpRequest 2.2 接口特点 存在未授权访问漏洞 Field参数存在SQL注入漏洞 3. SQL注入分析与利用 3.1 注入点确认 后端SQL语句部分结构: Field参数直接拼接为列名,存在注入 3.2 WAF绕过挑战 直接使用sqlmap等工具会被WAF拦截 传统注入方法受阻 3.3 创新注入方法 分析发现Con参数用于模糊匹配,实际SQL可能是: 利用Field参数控制查询列,结合Con参数进行盲注: 设置 Field=password 查询密码列 通过Con参数逐字符爆破密码hash值 观察返回的pageCount数量变化判断猜测是否正确 3.4 注入注意事项 模糊匹配使用 % 通配符,注入出的数据前后可能包含其他字符 需要系统存在多个用户才能通过数量变化判断注入结果 注入出的密码是MD5等哈希值,需要后续破解 4. 攻击流程总结 通过供应链信息找到同系统其他站点 发现未授权接口 /HanNeng/SelectHelp 确认Field参数存在SQL注入 绕过WAF使用Field+Con参数组合进行盲注 逐字符获取用户密码哈希 破解哈希获取明文密码 使用获取的凭证登录后台系统 5. 防御建议 供应链安全 : 统一组件/系统在不同客户处的安全基线 定期检查所有使用系统的客户安全状况 接口安全 : 实施严格的权限控制,避免未授权访问 对敏感接口增加身份验证 SQL注入防护 : 使用参数化查询或ORM框架 对用户输入进行严格过滤和类型检查 避免直接拼接用户输入到SQL语句 密码安全 : 使用强哈希算法(如bcrypt、PBKDF2等) 为每个用户使用独立salt 定期更换密码 WAF配置 : 更新规则库覆盖新型注入技术 对模糊查询等特殊场景进行针对性防护 本案例展示了如何通过创新的SQL注入技术绕过传统防御措施,强调了全面安全防护的重要性,不仅需要关注直接攻击面,还需考虑供应链相关的间接攻击路径。