供应链安全 | 强x科技-另类的sql注入
字数 907 2025-08-20 18:17:59

强x科技-另类的SQL注入技术分析

1. 初始信息收集与密码重置

1.1 获取敏感信息

  • 从网络收集到目标学院的学生信息文件
  • 包含关键字段:学号(xh)、身份证号(sfz)等敏感信息

1.2 密码重置逻辑缺陷利用

  1. 尝试使用"学号/身份证后六位"组合登录失败
  2. 转向"忘记密码"功能
  3. 发现密保问题为身份证号(sfzh)
  4. 利用已获取的身份证信息成功重置密码并登录系统

2. Oracle SQL注入技术分析

2.1 注入前提条件

  • 需要有课表数据才能进行此注入攻击

2.2 注入点发现

  1. 点击查询功能并拦截数据包
  2. 发现注入点参数:skyx
  3. 测试发现:
    • 单引号导致404错误
    • 双引号数据返回正常
    • 符合Oracle数据库注入特征

2.3 注入Payload构造

'||case when substr(user,1,1)='a' then 1 else exp(710) end||'

Payload解析:

  • 使用CASE语句进行条件判断
  • substr(user,1,1)='a':检查当前数据库用户的第一个字符是否为'a'
  • 条件为真返回1,继续正常查询
  • 条件为假执行exp(710)导致数值溢出报错
  • 通过||进行字符串拼接

2.4 自动化爆破技术

爆破步骤:

  1. 使用集束炸弹(Cluster bomb)攻击类型
  2. 设置两个Payload:
    • Payload1:简单数值序列
    • Payload2:可能的用户名字符集

验证方法:

  1. 使用爆破出的user数据返回正常
  2. 修改user值为其他内容返回404
  3. 通过响应差异确认有效用户名

2.5 扩展攻击面

  • 相同技术可用于获取:
    • 数据库名称
    • 数据库版本
    • 其他敏感信息

3. 防御建议

3.1 密码重置功能

  • 避免使用静态个人信息作为密保问题
  • 实施多因素认证
  • 限制密码重置尝试频率

3.2 SQL注入防护

  • 使用参数化查询
  • 实施输入验证和过滤
  • 对特殊字符进行转义
  • 设置最小权限原则
  • 启用WAF防护

3.3 敏感信息保护

  • 加密存储敏感数据
  • 限制敏感数据的收集和存储
  • 实施数据访问审计

4. 技术总结

该案例展示了如何利用:

  1. 信息泄露导致的初始访问
  2. 密码重置逻辑缺陷
  3. Oracle特有的SQL注入技术
  4. 基于错误响应的盲注技术
  5. 自动化爆破技术

通过这种组合攻击,攻击者可以逐步获取数据库敏感信息,最终可能导致完全的系统入侵。

强x科技-另类的SQL注入技术分析 1. 初始信息收集与密码重置 1.1 获取敏感信息 从网络收集到目标学院的学生信息文件 包含关键字段:学号(xh)、身份证号(sfz)等敏感信息 1.2 密码重置逻辑缺陷利用 尝试使用"学号/身份证后六位"组合登录失败 转向"忘记密码"功能 发现密保问题为身份证号(sfzh) 利用已获取的身份证信息成功重置密码并登录系统 2. Oracle SQL注入技术分析 2.1 注入前提条件 需要有课表数据才能进行此注入攻击 2.2 注入点发现 点击查询功能并拦截数据包 发现注入点参数: skyx 测试发现: 单引号导致404错误 双引号数据返回正常 符合Oracle数据库注入特征 2.3 注入Payload构造 Payload解析: 使用CASE语句进行条件判断 substr(user,1,1)='a' :检查当前数据库用户的第一个字符是否为'a' 条件为真返回1,继续正常查询 条件为假执行 exp(710) 导致数值溢出报错 通过 || 进行字符串拼接 2.4 自动化爆破技术 爆破步骤: 使用集束炸弹(Cluster bomb)攻击类型 设置两个Payload: Payload1:简单数值序列 Payload2:可能的用户名字符集 验证方法: 使用爆破出的user数据返回正常 修改user值为其他内容返回404 通过响应差异确认有效用户名 2.5 扩展攻击面 相同技术可用于获取: 数据库名称 数据库版本 其他敏感信息 3. 防御建议 3.1 密码重置功能 避免使用静态个人信息作为密保问题 实施多因素认证 限制密码重置尝试频率 3.2 SQL注入防护 使用参数化查询 实施输入验证和过滤 对特殊字符进行转义 设置最小权限原则 启用WAF防护 3.3 敏感信息保护 加密存储敏感数据 限制敏感数据的收集和存储 实施数据访问审计 4. 技术总结 该案例展示了如何利用: 信息泄露导致的初始访问 密码重置逻辑缺陷 Oracle特有的SQL注入技术 基于错误响应的盲注技术 自动化爆破技术 通过这种组合攻击,攻击者可以逐步获取数据库敏感信息,最终可能导致完全的系统入侵。