今天继续给大家介绍渗透测试相关知识,本文主要内容是SQLMAP插件tamper模块介绍。
免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!
在SQLMAP中,有很多tamper插件,常用的tamper插件及其作用如下所示:
1、apostrophemast.py
该脚本可以将payload中所有的引号替换成utf-8的格式
2、base64encode.py
该脚本可以将payload替换成Base64编码的格式。
3、multiplespaces.py
该脚本可以将payload中关键字之间的单个空格替换成多个空格。
4、space2puls.py
该脚本可以将所有的空格替换成加号。
5、nonrecursivereplacement.py
该脚本可以将所有的SQL关键字替换成双写绕过的形式。
6、space2randomblan.py
该脚本可以将payload中的空格替换为其他有效字符,例如%0D(回车)、%0A(换行)等。
7、unionalltounion.py
该脚本可以将union all替换成union。(union all和union的都会对两个select查询的结果进行并集操作,但是其区别在于union不包括重复行,并且会进行默认规则的排序,而union all会包括重复行,不进行排序)
8、space2dash.py
该脚本可以将空格替换成–,然后添加随机的字符串,最后再添加换行符,这样可以绕过一些对SQL关键字的过滤。
9、space2mssqlblank
该脚本主要针对SQL Server2005和2000,可以将payload中的空格随机替换成其他等效符号来代替,这些等效符号包括(‘%01’, ‘%02’, ‘%03’, ‘%04’, ‘%05’, ‘%06’, ‘%07’, ‘%08’, ‘%09’, ‘%0B’, ‘%0C’, ‘%0D’, ‘%0E’, ‘%0F’, ‘%0A’)
这些url编码的含义如下图所示:
10、between.py
该脚本主要作用是将payload中的大于号“>”替换成not between 0 and。例如,将如下payload:
and a>b--
替换成:
and a not netween 0 and b--
11、percentage.py
该脚本的作用是在payload的每个字符前添加一个字符“%”,该脚本只适用于.asp语言,适合SQL Server2000、2005,MySQL5.1.56、5.5.11,Postgresql9.0。
12、sp_password.py
该脚本的作用是在payload的后面添加关键字“sp_password”,该脚本只适用于MSSQL,这样做的作用是含有该关键字的查询不会记录到MSSQL的T-SQL日志中。
13、charencode.py
该脚本的作用是将payload的全部内容进行URL编码处理。
14、randomcase.py
该脚本的作用是将payload中关键字进行随机大小写格式的替换。
15、charunicodeencode.py
该脚本的作用是将payload全部转化为unicode编码。
16、space2comment.py
该脚本的作用是将所有的空格转化为/**/。
17、equaltolike.py
该脚本的作用是将所有的“=”转换成like。
18、greatest.py
该脚本的作用是将字符“>”转换成greatest()函数。例如,原来的payload为:
a>b
则使用该脚本后,payload变成:
greatest(a,b+1)=a
19、ifnull2isnull.py
将payload中的ifnull()函数替换成isnull()。
20、modsecurityversioned.py
使用MySQL内联注释的方式/*!30963*/绕过对SQL语句中关键字的检测。
21、space2mysqlblank.py
该脚本可以将payload中的空格随机替换成等效符号(‘%09’, ‘%0A’, ‘%0C’, ‘%0D’, ‘%0B’)中的一种。
22、modsecurityzeroversioned.py
使用MySQL内联注释的方式/*!00000*/绕过对SQL语句中关键字的检测。
23、space2mysqldash.py
该脚本可以将payload中所有的空格替换成“–%0A”。
24、bluecoat.py
该脚本可以将空格随机替换成等效空白字符,并且将“=”替换成“like”。
25、versionedkeywords.py
该脚本可以将Payload中所有的SQL语句关键字添加/*!*/的注释符。
26、halfversionedmorekeywords.py
该脚本可以将SQL的每个关键字都替换成/*!0的MySQL注释,该脚本仅仅适用于小于5.1版本的MySQL数据库
27、space2morehash.py
该脚本可以将payload中的空格替换为#,并且在后面添加随机字符串和换行符%0a,可以起到分割SQL关键字的作用
28、apostrophenullencode.py
该脚本使用%00%27来替代Payload中的单引号,尝试绕过一些网站的过滤
29、appendnullbyte.py
该脚本可以在payload的结束位置处添加%00,在Access数据库中,%00可以作为截断符,类似于MySQL中的注释符
30、chardoubleencode.py
该脚本可以将payload进行双重URL编码。
31、unmagicquotes.py
该脚本可以将单引号转化成%bf%27,并注释到后面的内容使之生效。
32、randomcomments.py
该脚本可以使用随机的注释符/**/来分割SQL关键字。