SQLmap tamper script for bypassing WAF

准备工作:
1.kali linux 2.0/64
2.SQLmap

进入主题

Tamper注入数据

选项: -tamper
sqlmap本身不会发送有效载荷,除了单引号之间的字符串由其CHAR() alique表示代替。

在您和后端数据库管理系统之间存在弱输入验证机制的情况下,此选项可能非常有用和强大。 这种机制通常是由应用程序源代码,昂贵的企业级IPS设备或Web应用程序防火墙(WAF)调用的自行开发的输入验证例程。 所有的流行语通常用来定义相同的概念,以不同的方式实现并花费大量资金。

要利用此选项,请为sqlmap提供逗号分隔的篡改脚本列表,这将处理有效负载并将其转换。 您可以定义自己的篡改脚本,使用tamper/文件夹中的sqlmap,或者编辑它们,只要将逗号分隔为逗号分隔,作为选项--tamper (例如--tamper="between,randomcase" )。

这是列表tamper注入数据

apostrophemask.py 以UTF-8字节字符替换单引号
apostrophenullencode.py 用非法双字节Unicode字符替换单引号字符
appendnullbyte.py, 在有效负载编码的末尾添加一个空字符
base64encode.py 为给定的有效载荷所有字符使用Base64编码
between.py, “BETWEEN AND AND##”替换为“NOT BETWEEN 0 AND#”替换大于符号“>”等号“=”
bluecoat.py SQL语句用有效的随机空格替换空格,后跟“LIKE”或者等号“=”
chardoubleencode.py  对于给定的有效载荷使用双重URL编码所有字符(不处理已编码的字符)
charencode.py  为给定的有效负载使用URL编码所有字符(不处理已编码的字符)
charunicodeencode.py  对于非编码字符的给定有效负载使用Unicode URL编码(字符不处理已编码)
concat2concatws.py  与示例“CONCAT_WS(MID(CHAR(0),0,0),A,B)”替换图像“CONCAT(A,B)”是
equaltolike.py  与“LIKE”操作符替换所有等号“=”
maxim.py 或者大于“>”使用“GREATEST”功能
halfversionedmorekeywords.py  在每个关键字之前添加MySQL注释
ifnull2ifisnull.py   “IF(ISNULL(A),B,A)”替换图像“IFNULL(A,B)”示例
lowercase.py   将每个关键字字符的值替换为小写
modsecurityversioned.py   包围完整的查询与评论
modsecurityzeroversioned.py  注释,其零位数字被完整查询包围
multiplespaces.py   在SQL关键字周围添加更多空格
nonrecursivereplacement.py   使用SQL表示法替换预定义的关键字,一个适合的过滤器
overlongutf8.py   转换为给定负载中的所有字符
percentage.py   在每个字符之前添加一个百分号
randomcase.py  每个关键字的随机字符大小写转换
randomcomments.py  将随机注释插入到SQL关键字中
securesphere.py  通过特殊配置添加字符串
sp_password.py  将 “sp_password”追加到有效载荷的末尾,以便从DBMS日志自动模糊
space2comment.py  用“/ ** /”替换空格
space2dash.py   破折号注释字符“ - ”后跟一个换行字符的随机字符串并替换空格字符
space2hash.py   磅注释字符“#”,后跟换行字符随机字符串并替换空格字符
space2morehash.py   磅注释字符“#”,后跟换行字符随机字符串并替换空格字符
space2mssqlblank.py   在一组随机字符空格中用一组有效候选替换空格
space2mssqlhash.py   磅注释符号“#”,后跟一个空格字符来替换换行符
space2mysqlblank.py  用一组随机字符空格中的有效候选替换空格
space2mysqldash.py  dash注释字符“ - ”后跟换行符替换空格
space2plus.py  一个加号“+”带空格
space2randomblank.py  用一组随机字符空格中的有效候选替换空格
unionalltounion.py  用UNION SELECT替换UNION ALL SELECT
unmagicquotes.py   使用多字节%bf%27的组合和用空格替换的一般注释的结尾
varnish.py   添加一个HTTP头“X-originating-IP”来绕过WAF
versionedkeywords.py  围绕MySQL的每个非注释功能键
versionedmorekeywords.py  由每个关键字包围MySQL Notes

用法

MSSQL:
    --tamper=between,charencode,charunicodeencode,equaltolike,greatest,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,sp_password,space2comment,space2dash,space2mssqlblank,space2mysqldash,space2plus,space2randomblank,unionalltounion,unmagicquotes
MySQL:
--tamper=between,bluecoat,charencode,charunicodeencode,concat2concatws,equaltolike,greatest,halfversionedmorekeywords,ifnull2ifisnull,modsecurityversioned,modsecurityzeroversioned,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,space2comment,space2hash,space2morehash,space2mysqldash,space2plus,space2randomblank,unionalltounion,unmagicquotes,versionedkeywords,versionedmorekeywords,xforwardedfor
一般Tamper测试:
--tamper=apostrophemask,apostrophenullencode,base64encode,between,chardoubleencode,charencode,charunicodeencode,equaltolike,greatest,ifnull2ifisnull,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,space2comment,space2plus,space2randomblank,unionalltounion,unmagicquotes
比如:
sqlmap -u ‘http://192.168.0.1:80/search.cmd?form_state=1’ –level=5 –risk=3 -p ‘item1’ –tamper=apostrophemask,apostrophenullencode,appendnullbyte,base64encode,between,bluecoat,chardoubleencode,charencode,charunicodeencode,concat2concatws,equaltolike,greatest,halfversionedmorekeywords,ifnull2ifisnull,modsecurityversioned,modsecurityzeroversioned,multiplespaces,nonrecursivereplacement,percentage,randomcase,randomcomments,securesphere,space2comment,space2dash,space2hash,space2morehash,space2mssqlblank,space2mssqlhash,space2mysqlblank,space2mysqldash,space2plus,space2randomblank,sp_password,unionalltounion,unmagicquotes,versionedkeywords,versionedmorekeywords

转载请注明出处:https://www.freearoot.com/index.php/sqlmap-tamper-sc…or-bypassing-waf.html

本教程软件工具来源于网络仅为个人学习测试使用,请在下载后24小时内删除,请遵守国家法律法规,不得恶意滥用进行非法用途,否则后果自负.