ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

工具使用|神器Sqlmap tamper的使用介绍

2021-11-21 10:35:26  阅读:243  来源: 互联网

标签:Sqlmap 字符 tamper 数据库 py 替换成 神器 Microsoft SELECT


作者: 村里的小四
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。

0x01 前言

从开源软件Sqlmap学习字符的篡改,现在的web网络环境参数出入处基本都会过滤某些字符串,我们在进行sql注入时,Sqlmap这款Sql注入神器的插件就可以帮助我们(Tamper)篡改字符,实现绕过,以下为实战中常用的Tamper,建议收藏。

Sqlmap下载地址:https://github.com/sqlmapproject/sqlmap

0x02 常用Tamper

用法这里就不过多介绍了

python sqlmap.py -u xxx  --tamper xxx.py

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 # (这个#看下面的例子)

'1 AND A = B--'

'1 AND A BETWEEN B AND B--'

已经测试过的数据库: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

替换字符的位置

'LIMIT 2, 3'
'LIMIT 3 OFFSET 2'

必要条件:mysql

已经测试过的数据库:mysql5.0,mysql5.5

2.13 concat2concatws.py

将concat(a,b)替换成concat_ws(mid(char(0),0,0),a,b)

'CONCAT(1,2)'
CONCAT_WS(MID(CHAR(0),0,0),1,2)

必要条件:mysql

已经测试过的数据库:mysql5.0

2.14 dunion.py

将UNION换成DUNION

必要条件:Oracle

2.15 equaltolike.py

将=篡改成LIKE

SELECT * FROM users WHERE id=1
SELECT * FROM users WHERE id LIKE 1

已经测试过的数据库: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版本注释

"value' UNION ALL SELECT CONCAT(CHAR(58,107,112,113,58),IFNULL(CAST(CURRENT_USER() AS CHAR),CHAR(32)),CHAR(58,97,110,121,58)), NULL, NULL# AND 'QDWa'='QDWa"
   "value'/*!0UNION/*!0ALL/*!0SELECT/*!0CONCAT(/*!0CHAR(58,107,112,113,58),/*!0IFNULL(CAST(/*!0CURRENT_USER()/*!0AS/*!0CHAR),/*!0CHAR(32)),/*!0CHAR(58,97,110,121,58)),/*!0NULL,/*!0NULL#/*!0AND 'QDWa'='QDWa"

必要条件:mysql<5.1

已经测试过的数据库:mysql4.0.18,5.0.22

2.19 htmlencode.py

html编码

2.20 ifnull2casewhenisnull.py

添加一个内联注释(//)到information_schema末尾

'SELECT table_name FROM INFORMATION_SCHEMA.TABLES'
'SELECT table_name FROM INFORMATION_SCHEMA/**/.TABLES'

2.21 lowercase.py

将字符转换为小写

2.22 misunion.py

UNION篡改为-.1UNION

2.23 modsecurityversioned.py和modsecurityzeroversioned.py

这两个tamper可以绕过modsecurity防火墙

2.24 multiplespaces.py

在sql关键字周围添加多个空格

'1 UNION SELECT foobar'
'1     UNION     SELECT     foobar'

2.25 overlongutf8.py

空格替换为%C0%A0

2.26 percentage.py

在每一个字符前面添加一个百分比符号

'SELECT FIELD FROM TABLE'
'%S%E%L%E%C%T %F%I%E%L%D %F%R%O%M %T%A%B%L%E'

2.27 randomcase.py

字符替换成大小写字符

'function()'
'FuNcTiOn()'

2.28 randomcomments.py

在关键字添加内联注释//

'INSERT'
'I/**/NS/**/ERT'

2.29 sp_password.py

将sp_password附加到有效负载的末尾,用来混淆

'1 AND 9227=9227-- '
 '1 AND 9227=9227-- sp_password'

必要条件:mssql

2.30 space2comment.py

空格替换成//

'SELECT id FROM users'
'SELECT/**/id/**/FROM/**/users'

2.31 space2morecomment.py

空格替换成/ /

已经测试过的数据库:mysql5.0 and 5.5

'SELECT id FROM users'
'SELECT/**_**/id/**_**/FROM/**_**/users'

2.32 space2mssqlblank.py

将空格替换成随机的以下字符

'%01', '%02', '%03', '%04', '%05', '%06', '%07', '%08', '%09', '%0B', '%0C', '%0D', '%0E', '%0F', '%0A'
'SELECT id FROM users'
'SELECT%0Did%0DFROM%04users'

适用数据库:Microsoft SQL Server

已经测试过的数据库:sql server 2000 sql server 2005

2.33 space2mssqlhash.py

将空格替换成%23%0A

适用数据库:mssql mysql

2.34 space2plus.py

将空格替换成+

2.35 space2randomblank.py

将刻个替换成以下随机的字符

"%09", "%0A", "%0C", "%0D"

测试过的数据库:

Microsoft SQL Server 2005

MySQL 4, 5.0 and 5.5

Oracle 10g

PostgreSQL 8.3, 8.4, 9.0

2.36 symboliclogical.py

将and和or的逻辑运算符分别替换为(&&和||)

"1 AND '1'='1"
"1 %26%26 '1'='1"

2.37 unionalltonnion.py

将union all select 替换成union select

'-1 UNION ALL SELECT'
'-1 UNION SELECT'

2.38 uppercase.py

将关键字符替换成大写

'insert'
'INSERT'

已经测试过的数据库:Microsoft SQL Server 2005

MySQL 4, 5.0 and 5.5

Oracle 10g

PostgreSQL 8.3, 8.4, 9.0

2.39 varnish.py

附加一个HTTP头来 X-originating-IP = “127.0.0.1” 来绕过防火墙

2.40 xforwardedfor.py

附加一个虚假的HTTP头“X-Forwarded-For”

0x03 总结

很多人觉得使用这款神器觉得挖不到注入,其实大多数情况下一般都进行了过滤,这时候这款开源软件里面的tamper还是很值得我们学习的,对于绕过防火墙也是很好的思路。

0x04 了解更多安全知识

欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
在这里插入图片描述

标签:Sqlmap,字符,tamper,数据库,py,替换成,神器,Microsoft,SELECT
来源: https://blog.csdn.net/weixin_42282189/article/details/121450011

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有