目录
一、http头部注入-User-Agent
1.user-agent 是什么
用户代理(User Agent,简称 UA),是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
2.http头部(user-agent)注入原理
由于后端对user-agent的数据保存到数据中,此时我们可以就可以利用SQL注入。
3.http头部(user-agent)注入的实现
3.1.打开sqlilabs/Less-18/index.php,在输入密码和用户名前打开burp suite工具。点击submit获取数据包。
3.2.获取数据包使用burp suite 的repeater模块进行操作
3.3.首先在user-agent后边加入字符看能不能引起报错,然后尝试闭合
3.4.闭合,由于使用and '1'='1 闭合,所以payload需要在and前边写入
3.5.由于可以回显报错信息,所以可以使用报错注入的方式获取当前数据库
payload:' and updatexml(1,concat(0x7e,(select database()),0x7e),1) and '1'='1
二、http头部注入 -- x-forwarded-for
1.什么是 x-forwarded-for
X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。
作用:获得HTTP请求端真实的IP
2.x-forwarder-for注入的原理
x-forwarder-for 注入和user-agent注入原理类似,都是后端将数据会保存到数据库中
3.x-forwarder-for注入的实现
3.1.打开sqlilabs/Less-18/index.php,在输入密码和用户名前打开burp suite工具.点击submit获取数据包。
3.2. 在请求数据包中加入X-forwarded-for字段。没有添加字段之前为host地址。
3.3添加完X-forwarded-for字段之后的IP地址为字段的IP地址。
3.4.在字段后边添加单引号看能不能引起报错。
3.5尝试闭合
3.6使用报错注入获取当前数据库的库名
payload:X-forwarded-for:172.63.25.3' and updatexml(1,concat(0x7e,(selectdatabase()),0x7e),1) and '1'='1 。
三、http头部注入 -- Referer
1.什么是referer
Referer是http请求包中请求头部的一个字段,表示的是这个url的来源。
2.referer注入的原理
与上边两个相似,后端代码会将referer字段里的参数保存到数据库中。
3.referer注入的实现
3.1。打开sqlilabs/Less-19/index.php,在输入密码和用户名前打开burp suite工具.点击submit获取数据包。
3.2.在字段后直接加单引号看能不能引起报错
3.3尝试闭合 使用and '1'='1 成功闭合
3.4 使用报错注入查看当前数据库库名
payload:' and extractvalue(1,concat(0x7e,(select database()),0x7e)) and '1'='1