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)--+