程序猿阵线联盟-汇总各类技术干货程序员技术交流互联网科技

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

2018-06-03  本文已影响127人  程序员Sunny
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

上一篇下一篇

猜你喜欢

热点阅读