sqlmap tamper模块

众所周知,sqlmap中自带有过waf的脚本以方便测试人员来测试,但我们实际用的并不是很多,而且了解也不多,故而整理一份出来,目前官方自带了58个脚本,目前我的是。。。

space2mssqlblank.py:
将空格随机替换为其他空格符号,内有规则,默认是%01-%0f

select id from users-->select%02id%0efrom%09users

between.py
用NOT BETWEEN 0 AND 替换>

and a > b -- --> and a NOT BETWEEN 0 AND b--

sp_password.py
从T-SQL日志的自动迷糊处理的有效载荷中追加sp_password

and 1=1--  --> and 1=1-- sp_password

charencode.py
对于payload全部字符进行url编码,不处理已编码字符,这里顺便说下一般在url编码过waf的时候,我们会将payload来两次全编码,这样对那些只解码一次的waf还是有点杀伤力的。

and 1=1-- --> %61%6e%64%20%31%3d%31%2d%2d

randomcase.py
随即大小写

select --> sELecT

percentage.py
每个字符前加%

select id -->%s%e%l%e%c%t %i%d

charunicodeencode.py
字符串的unicode编码

SELECT FIELD%20FROM TABLE --> %u0053%u0045%u004C%u0045%u0043%u0054%u0020%u0046%u0049%u0045%u004C%u0044%u0020%u0046%u0052%u004F%u004D%u0020%u0054%u0041%u0042%u004C%u0045

space2comment.py
空格替换为/**/

and 1=1 --> and/**/1=1

equaltolike.py
将=替换为like

and 1=1 -->and 1 LIKE 1

apostrophemask.py
将引号替换为utf-8编码,用于过滤单引号

AND '1'='1 --> AND %EF%BC%871%EF%BC%87=%EF%BC%871

我开始懒了,代码示例要是不是很复杂我就不再举例了阿

base64encode.py
payload进行base64编码

multiplespaces.py
围绕关键字添加几个空格,这个用处不是太大,看看就行

space2plus.py
空格替换为+号,sql语句中语句之间可以用+号连接起来的,故而空格可以此替换

nonrecursivereplacement.py
这个也用处并不大,主要双写查询关键字,现在很鸡肋

space2randomblank.py
替换空格为有效字符%09 %0C %0D %0A

unionalltounion.py
将union all select去掉all,感觉很少用的

securesphere.py
追加特定字符串

and 1=1 --> and 1=1 and "xuanying"="xuanying"

space2dash.py
将空格用–代替,并且添加随即字符串最后加换行符

equaltolike.py
greatest代替>号

and 2>1 -->and greatest(2,1+1)=2

ifnull2ifisnull.py
ifnull(a,b)替换为IF(ISNULL(a),b,a)

IFNULL(1, 2) --> IF(ISNULL(1),2,1)

modsecurityversioned.py
众所周知的内联注释模块,不用多说了

space2mysqlblank.py
替换空格为其他符号

modsecurityzeroversioned.py
还是内联注释,不过是从内联注释的随机字符变为0000

space2mysqldash.py
空格替换为–后跟换行符

bluecoat.py
在payload的随机空格处使用空白符号并且用LIKE替换=号

versionedkeywords.py
将payload中查询语句用内联注释

1 UNION ALL SELECT NULL, NULL, CONCAT(CHAR(5,2) --> 1/*!UNION*//*!ALL*//*!SELECT*//*!NULL*/,/*!NULL*/, CONCAT(CHAR(5,2)

halfversionedmorekeywords.py
每一个关键字前添加mysql版本注释

UNION --> /*!0UNION/

space2morehash.py
空格替换为# 并且加随机字符串后跟换行符

apostrophenullencode.py
非法双字节unicode字符替换单引号

appendnullbyte.py
payload结束后加null编码,null我记得默认为0,所以最后加的基本就是%00

chardoubleencode.py
之前提到的两次url编码,可以对部分之解码一次的waf无视

unmagicquotes.py
用一个多字节组合%bf%27和替换单引号并且末尾添加注释符号–

randomcomments.py
使用/**/注释来分割关键函数

累了,暂时到这吧,剩下的就下次一定吧,不早了要养生了。

猜你喜欢

转载自blog.csdn.net/weixin_44398914/article/details/106820326
今日推荐