点击上方蓝字关注我们
0x01 前言
从开源软件Sqlmap学习字符的篡改,现在的web网络环境参数出入处基本都会过滤某些字符串,我们在进行sql注入时,Sqlmap这款Sql注入神器的插件就可以帮助我们(Tamper)篡改字符,实现绕过,以下为实战中常用的Tamper,建议收藏。
Sqlmap下载地址:https://github.com/sqlmapproject/sqlmap
0x02 常用Tamper
用法这里就不过多介绍了
2.1 0eunion.py
使用e0UNION替换UNION
已经测试过的数据库:Mysql,Mssql
2.2 apostrophemask.py
将'替换成UTF-8urlencoded的%EF%BC%87
2.3 apostrophenullencode.py
将'替换成%00%27
2.4 appendnullbyte.py
在参数末尾加入%00
已经测试过的数据库:Microsoft Access
2.5 base64encode.py
base64编码所有字符
2.6 between.py
将>字符替换为NOT BETWEEN 0 AND
将=字符替换为BETWEEN # AND # (这个#看下面的例子)
已经测试过的数据库:Microsoft SQL Server 2005
MySQL 4, 5.0 and 5.5
Oracle 10g
PostgreSQL 8.3, 8.4, 9.0
2.7 bluecoat.py
将sql语句后的空格字符替换为%09,LIKE替换字符=
已经测试过的数据库:mysql5.1之前
2.8 charencode.py
URL编码
已经测试过的数据库:Microsoft SQL Server 2005
MySQL 4, 5.0 and 5.5
Oracle 10g
PostgreSQL 8.3, 8.4, 9.0
2.9 chardoubleencode.py
二次URL编码
2.10 charunicodeencode.py
URL编码
必要条件:ASP,ASP.NET
使用数据库:Microsoft SQL Server 2000
Microsoft SQL Server 2005
MySQL 5.1.56
PostgreSQL 9.0.3
2.11 charunicodeescape.py
url解码中的%篡改成\
2.12 commalesslimit.py
替换字符的位置
必要条件:mysql
已经测试过的数据库:mysql5.0,mysql5.5
2.13 concat2concatws.py
将concat(a,b)替换成concat_ws(mid(char(0),0,0),a,b)
必要条件:mysql
已经测试过的数据库:mysql5.0
2.14 dunion.py
将UNION换成DUNION
必要条件:Oracle
2.15 equaltolike.py
将=篡改成LIKE
已经测试过的数据库:Microsoft SQL Server 2005
MySQL 4, 5.0 and 5.5
2.16 equaltorlike.py
将=篡改成RLIKE
2.17 greatest.py
使用greatest替换>
已经测试过的数据库:MySQL 4, 5.0 and 5.5
Oracle 10g
PostgreSQL 8.3, 8.4, 9.0
2.18 halfversionedmorekeywords.py
在每个关键字之前添加mysql版本注释
必要条件:mysql<5.1
已经测试过的数据库:mysql4.0.18,5.0.22
2.19 htmlencode.py
html编码
2.20 ifnull2casewhenisnull.py
添加一个内联注释(//)到information_schema末尾
2.21 lowercase.py
将字符转换为小写
2.22 misunion.py
UNION篡改为-.1UNION
2.23 modsecurityversioned.py和modsecurityzeroversioned.py
这两个tamper可以绕过modsecurity防火墙
2.24 multiplespaces.py
在sql关键字周围添加多个空格
2.25 overlongutf8.py
空格替换为%C0%A0
2.26 percentage.py
在每一个字符前面添加一个百分比符号
2.27 randomcase.py
字符替换成大小写字符
2.28 randomcomments.py
在关键字添加内联注释//
2.29 sp_password.py
将sp_password附加到有效负载的末尾,用来混淆
必要条件:mssql
2.30 space2comment.py
空格替换成//
2.31 space2morecomment.py
空格替换成/ /
已经测试过的数据库:mysql5.0 and 5.5
2.32 space2mssqlblank.py
将空格替换成随机的以下字符
适用数据库:Microsoft SQL Server
已经测试过的数据库:sql server 2000 sql server 2005
2.33 space2mssqlhash.py
将空格替换成%23%0A
适用数据库:mssql mysql
2.34 space2plus.py
将空格替换成+
2.34 space2randomblank.py
将刻个替换成以下随机的字符
测试过的数据库:
Microsoft SQL Server 2005
MySQL 4, 5.0 and 5.5
Oracle 10g
PostgreSQL 8.3, 8.4, 9.0
2.35 symboliclogical.py
将and和or的逻辑运算符分别替换为(&&和||)
2.36 unionalltonnion.py
将union all select 替换成union select
2.37 uppercase.py
将关键字符替换成大写
已经测试过的数据库:Microsoft SQL Server 2005
MySQL 4, 5.0 and 5.5
Oracle 10g
PostgreSQL 8.3, 8.4, 9.0
2.38 varnish.py
附加一个HTTP头来 X-originating-IP = "127.0.0.1" 来绕过防火墙
2.39 xforwardedfor.py
附加一个虚假的HTTP头“X-Forwarded-For”
0x3 总结
很多人觉得使用这款神器觉得挖不到注入,其实大多数情况下一般都进行了过滤,这时候这款开源软件里面的tamper还是很值得我们学习的,对于绕过防火墙也是很好的思路。
原文始发于微信公众号(灼剑安全团队):工具使用|神器Sqlmap tamper的使用介绍
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论