HTTP Header 注入

可被注入的参数

  • cookie
  • referer
  • user-agent
  • x-forward-for
  • client-ip
  • host

参数介绍

网站为了辨别?户?份、进? session 跟踪?储存在?户本地终端上的数据(通常经过加密).

referer

浏览器向 WEB 服务器表明??是从哪个页?链接过来的.

user-agent

使得服务器能够识别客户使?的操作系统,游览器版本等.(很多数据量?的?站中会记录客户使?的操作系统或浏览器版本等存?数据库中)

x-forward-for

简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,(通常?些?站的防注?功能会记录请求端真实IP地址并写?数据库or某?件[通过修改XXF头可以实现伪造IP]).

client-ip

客户端IP,每次上网的时候可能不一样

host

浏览器向 WEB 服务器表明??是从哪个页?链接过来的

注入姿势

以sqli_labs18为例

输入类容,抓包

HTTP Header 注入
HTTP Header 注入

在可以注入的点,进行测试

HTTP Header 注入
理论上可注入点有6个:cookie、referer、user-agent、host、client-ip、x-forward-for但并不是每一个请求报文都全部包含着6个请求报头
通过对 referer、host、user-agent后加‘得到页面请求错误,直接404给整懵了。
折腾了很一阵儿,单个单个加引号在user_agent和referer可以访问页面成功,单引号没有起到任何作用。
HTTP Header 注入
host处加引号直接400
网上查了下资料,18关存在注入的前提是账号和密码首先要输入正确——账号:admin 密码:admin
OK,我们再来.
我直接在原有的数据包将用户名和密码改为admin,给个注入点加引号不行。
HTTP Header 注入
于是我第18关在页面账户和密码上输入admin,是得到了成功访问的提示
于是我重新进行抓包来尝试
加入引号后直接400,差点奔溃。
仔细观察后,是引号格式的问题,我虽然键盘调的是引文格式,可输入到repeater模块就成了中文格式,于是再option将宋体格式调整arial
给host,user-agent,referer后加上‘后,访问不了页面
于是 一个一个加‘,看哪个会报错
user-agent处会报错,并且告诉了错误的原因
HTTP Header 注入
HTTP Header 注入
于是说明此处是可以进行报错注入的

获取数据

‘ and extractvalue(1,concat(0x7e,(select version()),0x7e)) and ‘1‘=‘1
HTTP Header 注入
剩下的就是报错注入,一步一步来
但是,我看到了国光大佬的博客,然后,我就自闭了
HTTP Header 注入
我找找资料,慢慢来,我要把这语句看懂https://www.sqlsec.com/2020/05/sqlilabs.html#toc-heading-37

HTTP Header 注入

上一篇:NodeJs的安装和环境变量配置


下一篇:webpack本地和全局