post与cookie与http头注入

一、post与cookie注入

http协议中有多种请求方式,请求方式不同,注入的方法也不同。

示例代码如下:

1
2
3
4
5
6
7
8
<?php
$a=$_GET['x']; //接受get请求方式的参数x的值
$b=$_POST['y']; //接受post请求方式的参数y的值
$c=$_COOKIE['z']; //接受cookie请求方式的参数z的值
echo $a."<hr>";
echo $b."<hr>";
echo $c."<hr>";
?>

参数x可以直接在浏览器地址栏中提交,默认为get请求方式,而post方式和cookie则不可以。post请求方式及cookie请求方式可以利用火狐浏览器HackBar插件进行参数传递:

在实际注入中,post请求方式常见于登录页面,因此post注入又被称为登录框注入。此时只需要将注入语句写在登录框中即可。

二、HTTP头部注入

$_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。

示例代码:

1
2
3
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

访问该页面会打印出http数据包中的user_agent信息,如下图所示:

当网页利用$_SERVER获取HTTP请求头信息,并带入数据库查询时,就有可能产生HTTP头部注入,与post和cookie注入一样,注入点在哪里产生,就将注入语句写在哪里即可,因此HTTP头部注入就需要通过抓包将注入语句写在相应的请求头标处即可。

http头部注入点通常是使用工具自动扫描发现。

文章作者: TechOtaku
文章链接: http://techotaku.me/2018/07/31/post与cookie与http头注入/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 徒然の博客