sql注入那些事儿——如何优雅地进行SQL注入(4)

作者: 程序员Sunny | 来源:发表于2018-06-03 23:12 被阅读127次
    sql注入那些事儿——如何优雅地进行SQL注入(4)

    传送门:

    sql注入那些事儿——如何优雅地进行SQL注入(1)
    sql注入那些事儿——如何优雅地进行SQL注入(2)
    sql注入那些事儿——如何优雅地进行SQL注入(3)
    sql注入之双查询注入


    上一篇,Sunny和大家聊了双查询注入。这一篇,我们还是继续说说双查询注入。其实双查询注入并没有什么难的,童鞋们可以把它当作一个公式,在实际注入过程中可能会用到。相对来说,能够双查询注入的地方基本都能盲注。那么双查询注入的优势在哪里呢?还是在于简单两字,盲注要进行几十次上百次的注入过程,双查询注入几次就能完成。
    上次说到lesson 5,那么今天就顺理成章地说说lesson 6。为什么说lesson 6呢?因为它也是一个可以用双查询注入的。那Sunny怎么知道的呢?因为Sunny已经把整个sqli-labs刷了个遍了。
    话不多说,还是先看界面:


    图片.png

    然后我们试试注入姿势,这个还是很重要的,猜不出来sql语句,就别想把自己的语句嵌进去啦。单双引号、括号都试一遍,发现双引号会有报错信息:


    图片.png
     You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"1"" LIMIT 0,1' at line 1
    
    

    很明显,双引号注入。好了,接下来该干什么了?嗯。应该套用双查询注入的公式了。几天没注入,公式有点忘了咋办?看我之前的文章?可以不用那么麻烦,我在这里再写另外一个公式,咱们今天就用这个新的payload。当然,除了这些还可能会有其他的payload,也欢迎童鞋们来交流。今天要说的公式如下,利用派生表:

    select [column...] from (select count(*),concat_ws(':',[查询语句],floor(rand()*2)) as a from [table_name] group by a) x#
    
    

    写成url的时候,大家注意这里lesson 6中是双引号,Sunny在注入的时候写成了单引号在注入,结果尝试好多次都没有成功显示错误信息,搞得Sunny都快怀疑人生了,最后才发现的这个惯性问题:

    id=1" union select 1,2,3 from (select count(*),concat_ws(':',(select version()),floor(rand()*2)) as a from information_schema.columns group by a) x%23
    
    

    得到我们想要的结果:


    图片.png

    童鞋们将其中的字查询部分替换成自己想要查找的内容的sql语句即可。好了,今天的课程到此结束了,双查询注入也基本讲完了,后面讲到盲注的时候,有些题目还会稍微提一下双查询注入。


    有其他思路的童鞋也欢迎评论留言,有两种方式:

    第一种

    评论留言

    第二种

    邮箱联系:zsunny@yeah.net

    相关文章

      网友评论

      本文标题:sql注入那些事儿——如何优雅地进行SQL注入(4)

      本文链接:https://www.haomeiwen.com/subject/dtmssftx.html