SQL注入-HTTP头部注入

目录

一、http头部注入-User-Agent

二、http头部注入 -- x-forwarded-for

三、http头部注入 --  Referer


一、http头部注入-User-Agent

1.user-agent 是什么

用户代理(User Agent,简称 UA),是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

SQL注入-HTTP头部注入_第1张图片

2.http头部(user-agent)注入原理

由于后端对user-agent的数据保存到数据中,此时我们可以就可以利用SQL注入。

3.http头部(user-agent)注入的实现

3.1.打开sqlilabs/Less-18/index.php,在输入密码和用户名前打开burp suite工具。点击submit获取数据包。

SQL注入-HTTP头部注入_第2张图片

3.2.获取数据包使用burp suite 的repeater模块进行操作

SQL注入-HTTP头部注入_第3张图片

3.3.首先在user-agent后边加入字符看能不能引起报错,然后尝试闭合 

SQL注入-HTTP头部注入_第4张图片

3.4.闭合,由于使用and '1'='1 闭合,所以payload需要在and前边写入

SQL注入-HTTP头部注入_第5张图片

3.5.由于可以回显报错信息,所以可以使用报错注入的方式获取当前数据库

payload:' and updatexml(1,concat(0x7e,(select database()),0x7e),1) and '1'='1

SQL注入-HTTP头部注入_第6张图片

二、http头部注入 -- x-forwarded-for

1.什么是 x-forwarded-for

X-Forwarded-ForXFF)是用来识别通过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获取数据包。

SQL注入-HTTP头部注入_第7张图片

3.2. 在请求数据包中加入X-forwarded-for字段。没有添加字段之前为host地址。

SQL注入-HTTP头部注入_第8张图片

3.3添加完X-forwarded-for字段之后的IP地址为字段的IP地址。

SQL注入-HTTP头部注入_第9张图片

3.4.在字段后边添加单引号看能不能引起报错。

SQL注入-HTTP头部注入_第10张图片

3.5尝试闭合

SQL注入-HTTP头部注入_第11张图片3.6使用报错注入获取当前数据库的库名

payload:X-forwarded-for:172.63.25.3' and updatexml(1,concat(0x7e,(selectdatabase()),0x7e),1) and '1'='1  。

SQL注入-HTTP头部注入_第12张图片

三、http头部注入 --  Referer

1.什么是referer

Referer是http请求包中请求头部的一个字段,表示的是这个url的来源。

2.referer注入的原理

与上边两个相似,后端代码会将referer字段里的参数保存到数据库中。

3.referer注入的实现

3.1。打开sqlilabs/Less-19/index.php,在输入密码和用户名前打开burp suite工具.点击submit获取数据包。

SQL注入-HTTP头部注入_第13张图片

3.2.在字段后直接加单引号看能不能引起报错

SQL注入-HTTP头部注入_第14张图片

3.3尝试闭合  使用and '1'='1 成功闭合

SQL注入-HTTP头部注入_第15张图片

3.4 使用报错注入查看当前数据库库名

payload:' and extractvalue(1,concat(0x7e,(select database()),0x7e)) and '1'='1 

SQL注入-HTTP头部注入_第16张图片

你可能感兴趣的:(SQL注入,http,网络安全,web安全,sql)