传送门:
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
网友评论