sqlmap的tamper目录下有41个用于绕过waf的脚本,网上有文章简要介绍过使用方法,但是只是简单说了其中少数几个的作用。本人通过这41个脚本的文档注释,将它们每一个的作用简单标记了一下,还是像之前一样,先 google translate 再人工润色。其实,文档注释里面都有例子,看一眼就大概知道效果了,比看文字描述速度还快,只不过要用的时候现场翻看还是太麻烦了。我这个列表可以给大家提供参考,来更迅速的定位自己需要的脚本。
本人英文阅读能力有限,有个别词句(其实就2处)实在拿捏不准该如何翻译,就把英文照搬过来了。另外,虽然下了不少功夫翻译和校对,但自认为错误在所难免,大家有发现我翻译错误的,请指出来,谢谢大家。
01. apostrophemask.py 用UTF-8全角字符替换单引号字符
02. apostrophenullencode.py 用非法双字节unicode字符替换单引号字符
03. appendnullbyte.py 在payload末尾添加空字符编码
04. base64encode.py 对给定的payload全部字符使用Base64编码
05. between.py 分别用“NOT BETWEEN 0 AND #”替换大于号“>”,“BETWEEN # AND #”替换等于号“=”
06. bluecoat.py 在SQL语句之后用有效的随机空白符替换空格符,随后用“LIKE”替换等于号“=”
07. chardoubleencode.py 对给定的payload全部字符使用双重URL编码(不处理已经编码的字符)
08. charencode.py 对给定的payload全部字符使用URL编码(不处理已经编码的字符)
09. charunicodeencode.py 对给定的payload的非编码字符使用Unicode URL编码(不处理已经编码的字符)
10. concat2concatws.py 用“CONCAT_WS(MID(CHAR(0), 0, 0), A, B)”替换像“CONCAT(A, B)”的实例
11. equaltolike.py 用“LIKE”运算符替换全部等于号“=”
12. greatest.py 用“GREATEST”函数替换大于号“>”
13. halfversionedmorekeywords.py 在每个关键字之前添加MySQL注释
14. ifnull2ifisnull.py 用“IF(ISNULL(A), B, A)”替换像“IFNULL(A, B)”的实例
15. lowercase.py 用小写值替换每个关键字字符
16. modsecurityversioned.py 用注释包围完整的查询
17. modsecurityzeroversioned.py 用当中带有数字零的注释包围完整的查询
18. multiplespaces.py 在SQL关键字周围添加多个空格
19. nonrecursivereplacement.py 用representations替换预定义SQL关键字,适用于过滤器
20. overlongutf8.py 转换给定的payload当中的所有字符
21. percentage.py 在每个字符之前添加一个百分号
22. randomcase.py 随机转换每个关键字字符的大小写
23. randomcomments.py 向SQL关键字中插入随机注释
24. securesphere.py 添加经过特殊构造的字符串
25. sp_password.py 向payload末尾添加“sp_password” for automatic obfuscation from DBMS logs
26. space2comment.py 用“/**/”替换空格符
27. space2dash.py 用破折号注释符“--”其次是一个随机字符串和一个换行符替换空格符
28. space2hash.py 用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
29. space2morehash.py 用磅注释符“#”其次是一个随机字符串和一个换行符替换空格符
30. space2mssqlblank.py 用一组有效的备选字符集当中的随机空白符替换空格符
31. space2mssqlhash.py 用磅注释符“#”其次是一个换行符替换空格符
32. space2mysqlblank.py 用一组有效的备选字符集当中的随机空白符替换空格符
33. space2mysqldash.py 用破折号注释符“--”其次是一个换行符替换空格符
34. space2plus.py 用加号“+”替换空格符
35. space2randomblank.py 用一组有效的备选字符集当中的随机空白符替换空格符
36. unionalltounion.py 用“UNION SELECT”替换“UNION ALL SELECT”
37. unmagicquotes.py 用一个多字节组合%bf%27和末尾通用注释一起替换空格符
38. varnish.py 添加一个HTTP头“X-originating-IP”来绕过WAF
39. versionedkeywords.py 用MySQL注释包围每个非函数关键字
40. versionedmorekeywords.py 用MySQL注释包围每个关键字
41. xforwardedfor.py 添加一个伪造的HTTP头“X-Forwarded-For”来绕过WAF