COOKIE
个人理解:当我们登录一个网站后。setcookie函数根据我们登录的账户及密码,加上获取当前时间等其他信息,来生成一个cookie,当我们再次访此页面,不需要重新登入,只需要比对cookie信息,比如在less-20中,cookie根据uname生成,然后用cookie中的信息来比对数据库中的uname,如果正确容许访问。负责拒绝
less-20
首先登入一个账号,模拟登入下的注入
登入后用bp抓包
GET /sq/Less-20/index.php HTTP/1.1
Host: 192.168.140.130
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:130.0) Gecko/20100101 Firefox/130.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/png,image/svg+xml,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Referer: http://192.168.140.130/sq/Less-20/index.php
Connection: keep-alive
Cookie:uname=admin
Upgrade-Insecure-Requests: 1
Priority: u=0, i
发现相较于之前,没有了post提交的表单信息,而是ookie:uname=admin
发包,页面回显
页面有cookie信息和name及password
当我们发包时,数据库提取cookie的uname与数据库的uname进行比较。
于是我们便可以在cookie处进行注入
闭合方式
在cookie处多次尝试,确定闭合方式为'
,方法与前面关卡寻找闭合方式一样。
列数
列数为3
回显位
报数据
less-21
本关卡当我们登入的时候发现页面显示
这里cookie变成了不认识的符号,我们复制过去百度一下,
发现这是一种编码,为Base64编码,熟悉的热相信一眼便可以看出来,于是我们不难猜测这是将前端表单信息进行编码,上传到后端解码在进行比对,
所以本关与less-20一致,只不过对cookie进行了Base64编码,我们在进行注入的时候可以先将语句写出来,进行编码,然后在bp中进行注入
闭合方式
构造语句并进行编码
在bp注入
回显
不难看出闭合方式为')
.
报数据
less-22
我们发现本关卡也对cookie进行了编码,当我们注入时,发现页面没有回显,当时页面有报错,所以使用报错注入,extractvalue,updatexml,floor都可以使用,闭合方式为"
.没有其他变化,所以不做过多演示,如果有需要,可以留言,我会将我的语句放在评论区