HTTP头注入其实并不是一个新的SQL注入类型,而是指出现SQL注入漏洞的场景。
有些时候,后台开发人员为了验证客户端头信息(比如常用的cookie验证)
或者通过http header头信息获取客户端的一些资料,比如useragent、accept字段等。
会对客户端的http header信息进行获取并使用SQL进行处理,如果此时没有足够的安全考虑则可能会导致基于http header的SQL Inject漏洞。
进入pikachu的http header 来进行一下测试
通过登录进去的信息我们可以猜测,这个后端是不是对http header里面的数据进行了获取,应该也进行了相关数据库的操作
我们来看一下刚才的抓包
将它发送到repeater里面,将User-Agent删掉,自己构造一个 ,还是按照之前的思路,先输入一个单引号
报出了错误,接下来的步骤就很简单了,制作一个能用的payload
666' or updatexml (1,concat (0x7e,database()),0) or '
payload的思路和前面一样,结果自然出现
还有一个点就是cookies
我们在账号后面加一个单引号,应该会报错
也就意味着这个地方也存在着SQL注入漏洞,做一个payload
提交