使用sqlmap tamper脚本绕过waf

简述

WAF(Web应用防火墙)已经成为标准安全解决方案之一。正因为如此,很多公司都不关心甚至有Web应用漏洞。不幸的是,并不是所有的都是无边无线的绕过!本文将告诉您如何在SQLMap旁路WAF / IDS上使用篡改脚本。

篡改脚本将修改请求以避免检测WAF规则。很多时候,您需要使用多个篡改脚本。

例如:如果您使用“space2hash.py”和“space2morehash.py”篡改脚本,这些脚本将自动将所有空格转换为随机注释,并扩展此脚本的版本(space2morehash.py)将帮助您“破坏”功能绕过WAF。
输入:1 AND 1234 = 1234
输出:1%23PTTmJopxdWJ%0AAND%23cWfcVRPV%0A1234 = 1234

使用方法

要在sqlmap上使用篡改脚本,请使用-tamper标志:

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

要测试mssql,您可以使用以下所有篡改:

tamper=between,charencode,charunicodeencode,equaltolike,greatest,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,sp_password,space2comment,space2dash,space2mssqlblank,space2mysqldash,space2plus,space2randomblank,unionalltounion,unmagicquotes

以下是支持mssql和mysql的篡改列表:

tamper=apostrophemask,apostrophenullencode,base64encode,between,chardoubleencode,charencode,charunicodeencode,equaltolike,greatest,ifnull2ifisnull,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,space2comment,space2plus,space2randomblank,unionalltounion,unmagicquotes