MYSQL HTTP头部注入

HTTP头部基础

Accept : 浏览器能够处理的内容类型
Accept-Charset : 浏览器能够显示的字符集
Accept-Encoding : 浏览器能处理的压缩编码
Accept-Language : 浏览器当前设置的语言
Connection : 浏览器与服务器之间的连接
cookie : 当前页面设置的cookie
Host : 发出请求的页面所在域
Referer : 发出请求的页面URL
User-agent : 浏览器用户代理字符串
Server : web服务器表明自己是什么软件及版本信息
HTTP 头注入是指从HTTP头中获取数据,而未对获取到的数据进行过滤,从而产生的注入。HTTP头注入常常发生在程序采集用户信息的模块中。例如
X-Forwarded-For/Client-IP 用户IP
User-Agent 用户代理的设备信息
Referer 告诉服务器该网页是从哪个页面链接过来的
Cookie  标识用户的身份信息
Cookie型注入是通过Cookie进行数据提交的,其常见的情况有验证登录、$_REQUEST获取参数。验证登录是将用户的登录信息放入Cookie来做权限验证的一种方法

user-Agent 头部注入(less-18)

只能在登录的情况下,结合报错注入显示,如果没有登录,页面显示无差别,基于布尔的盲注不行,别的场景可能会用盲注,报错等

通过构造user-agent报错注入,在页面上回显

修改X-Forwarded-For,Client-IP,伪造ip,发现IP并没有变换,尝试UA头,当前环境只能在登录的情况下结合报错注入回显,如果没有登录,页面显示无差别,基于布尔盲注不行,别的场景可能会使用盲注,报错等
MYSQL HTTP头部注入_第1张图片

在现实中的注册之后再登录注入很像,这里就是在登录之后才将UA头显示出来,需要正确的账号密码来突破账号密码的这个限制,insert语句带入数据库,产生注入

存在需要将User-Agent存入数据库,可以构造insert闭合语句,实现SQL注入

MYSQL HTTP头部注入_第2张图片

Referer头部注入

测试和UA头注入类似,在burp内抓包修改refer注入,分为闭合单引号,和闭合语句分别测试

MYSQL HTTP头部注入_第3张图片
闭合语句

MYSQL HTTP头部注入_第4张图片

Cookie注入

和UA,Referer类似,Cookie是用来标识用户的身份信息,登录之后服务器就会返回一个cookie,用来标明用户的身份信息

在SQL-LABS-20中首先正确登录之后,服务器返回cookie,当再次请求服务器时,则会将cookie一并放在请求头里发送给服务器,利用cookie来实现SQL注入的方式,服务器判断当前用户的身份,会执行select 操作,对cookie中uname字段进行查询,因此可以利用此特性进行SQL注入

第一次请求

MYSQL HTTP头部注入_第5张图片

当第一次请求之后,得到cookie值保存在本地,随后的请求都会放在请求头里,随请求一起发送至服务器

MYSQL HTTP头部注入_第6张图片

MYSQL HTTP头部注入_第7张图片

构造SQL语句注入,使用报错注入,回显在页面上
MYSQL HTTP头部注入_第8张图片

你可能感兴趣的:(学习)