4.1.5. 绕过技巧

  • 编码绕过
    • 大小写

    • url编码

    • html编码

    • 十六进制编码

    • unicode编码

  • 注释
    • // -- -- + -- - # /**/ ;%00

    • 内联注释用的更多,它有一个特性 /!**/ 只有MySQL能识别

    • e.g. index.php?id=-1 /*!UNION*/ /*!SELECT*/ 1,2,3

  • 只过滤了一次时
    • union => ununionion

  • 相同功能替换
    • 函数替换
      • substring / mid / sub

      • ascii / hex / bin

      • benchmark / sleep

    • 变量替换
      • user() / @@user

    • 符号和关键字
      • and / &

      • or / |

  • HTTP参数
    • HTTP参数污染
      • id=1&id=2&id=3 根据容器不同会有不同的结果

    • HTTP分割注入

  • 缓冲区溢出
    • 一些C语言的WAF处理的字符串长度有限,超出某个长度后的payload可能不会被处理

  • 二次注入有长度限制时,通过多句执行的方法改掉数据库该字段的长度绕过