要想成为一名合格的“脚本小子”,我们首先需要一个强大的工具,然后利用好他的脚本。但是脚本也不能乱用,首先就是要了解一下SqlMap的常用的脚本,然后分清楚场合进行利用。(好的,看开头又是一篇水文。)
刚刚也看到了咱们论坛有个帖子和这个内容差不多,我没有数我总结了多少个,但是希望我们两个的内容是可以相互补充的。(刚刚群里大佬说,这种文章还用总结?百度一搜一大堆~~ 嗯,,确实。所以,也就是水文啦)
SQLMap的初级入门使用大家肯定了如指掌,发出来肯定是像上回那个MS17-010一样被你们说很多人发了。所以,我整理一下自己所知道的SqlMap的常用脚本吧。(对于某些人可能是很熟悉或者是很嫌弃的知识了,但是我这里还是给小白以别的方式讲一下吧。)
在我们对网站漏洞检测的时候,Sql注入可能会使用到Sqlmap,当然,看不起“脚本小子”的就使用手工。我们使用Sqlmap当然没有那么智能,默认给你绕一下WAF,那是不可能的。不过,我们可以使用绕过脚本,也就是Sqlmap的“--tamper”参数。我们如何用这些脚本来绕过呢?
Sqlmap.pyxxx.xxx.xxx –tamper “Mod Name”
这样就是一个简单的使用方法了,哦对了,这里要注意一下,kali环境下默认的sqlmap是不需要带“.py”的。
但是我们不能什么站都用脚本了,那真的就是“脚本小子”啊。我们可以使用“—identify-waf”这一参数对网站进行一个检测,就可以得知是什么WAF了。
开始,我们介绍一下咱们常用的tamper脚本:(如果我这里没有提到的,表哥们可以在评论区补充,有用的我会给你们点魔法币的。)
Apostrophemask.py
作用:将引号替换为UTF-8,用于过滤单引号。
Base64encode.py
作用:base64编码。
Multiplespaces.py
作用:围绕SQL关键字添加多个空格。
Space2plus.py
作用:用“+”符号,替换空格。
Nonrecursivereplacement.py
作用:作为双重查询语句,用双重语句替代预定义的SQL语句或关键词。(一般来说是用于很弱很弱的过滤器才有效。)
Space2randomblank.py
作用:将空格替换为其他的有效字符。
Unionalltounion.py
作用:将UNION ALL SELECT替换为UNION SELECT。
Securesphere.py
作用:追加特制的字符。
Space2hash.py
作用:将空格替换为#号,并添加一个随机字符串和换行符。
Space2msssqlblank.py
作用:将空格替换为其他空符号。
Space2mssqlhash.py
作用:将空格替换为#号,并添加一个换行符~
Betwee.py
作用:用NOT BETWEEN 0 AND替换大于号“>”,用BETWEEN AND替换等于号“=”。
Percentage.py
作用:ASP允许在每个字符前面添加一个%号。
Sp_password.py
作用:从DBMS日志的自动模糊处理的有效载荷中追加sp_password。
Charencode.py
作用:对给定的Payload全部字符使用URL编码,但不处理已经编码的字符。
Randomcase.py
作用:随机大小写。
Charunicodeencode.py
作用:字符串unicode编码。
Space2Comment.py
作用:将空格替换为/**/。
Equaltolike.py
作用:将等号替换为like。
Greatest.py
作用:绕过对“>”的过滤,用GREATEST替换大于号。
下面,是对数据库类型和数据库版本有限制的,这里我也没测试过,大家可以自行测试,因为我自家挖漏洞也不经常去挖。
Ifnull2ifisnull.py
作用:绕过对IFNULL的过滤,替换类似IFNULL(A,B)为IF(ISNULL(A),B,A)。
Space2mysqlblank.py
作用:将空格替换为其他空白符号,仅适用于MySQL,这个语句我用过,仅仅适用于MySQL5.x。
Modsecurityzeroversioned.py
作用:使MySQL内联注释的方式(/%00000*/)进行注入。
Space2MySQLdash.py
作用:将空格替换为--,并添加一个换行符。
Bluecoat.py
作用:在SQL语句之后用有效的随机空白符替换空格符,随后用like替换等于号。
Versionedkeywords.py
作用:注释绕过。
Halfversionedmorekeywords.py
作用:当数据库为MySQL时绕过防火墙,在每个关键字之前添加MySQL版本注释。
Space2morehash.py
作用:将空格替换为#号,并添加一个随机字符串和换行符。
Apostrophenullencode.py
作用:用非法双字节unicode字符替换单引号。
Appendunllbyte.py
作用:在有效负荷的结束为止加载零字节字符编码。
Chardoubleencode.py
作用:对给定的Payload全部字符使用双重URL编码,并且不会处理已经编码的字符。(真友好~~)
Unmagicquotes.py
作用:用一个多字节组合和末尾通通用注释一起替换空格。
Randomcomments.py
作用:用/**/分割SQL关键字。
上面就是总结出来的几个,但是我们肯定要知道,机器往往是死的,死的东西对死的东西进行攻击,往往也是死的,但是人是活的,我们的脑子是活的,懂得了tamper的编写规则,也就懂得了WAF的常见拦截套路。
路漫漫其修远兮,我借鉴了几本书的内容,如果有说的错误的可以评论跟我说一下,虚心学习~
1504个字,等快递等这么久,快递还没到,文章先写完了~哦,巴适~
点个在看,你最好看。点个赞赞,你最可爱。