0x0:概述
作者:暗月 博客:www.moonsec.com
关于这类注入点,传统的web漏洞扫描器,基本上是针对GET/POST注入,
对于这类注入的检测就变得有心无力了。
0x01:发现
0x01.1:常见http可能被污染的参数有这些
- User-agent 浏览器版本 (少)
- Referer 来源(少)
- X-Forwarded-For 获取ip(高)
- client_ip 获取ip(高)
0x01.2:发现工具
笔者采用火狐浏览器演示 首先安装浏览器附加组件 modify headers 安装后重启火狐选择web开发 选择工具 ,如下设置:
需要检测User-agent referre 也是如何设置,选择start 确定 浏览器就每次访问网站都会加载这些参数。
0x01.3:漏洞发现
存在这里漏洞的地方一般是登录,还有就是记录浏览器信息的地方,据笔者以往审计漏洞和模糊测试的时候经发现存在ip记录的地方特别多。
0x0.14:漏洞代码
function getip()
{
if (getenv('HTTP_CLIENT_IP'))
{
$ip = getenv('HTTP_CLIENT_IP');
}
elseif (getenv('HTTP_X_FORWARDED_FOR'))
{ //获取客户端用代理服务器访问时的真实ip 地址
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_FORWARDED'))
{
$ip = getenv('HTTP_X_FORWARDED');
}
elseif (getenv('HTTP_FORWARDED_FOR'))
{
$ip = getenv('HTTP_FORWARDED_FOR');
}
elseif (getenv('HTTP_FORWARDED'))
{
$ip = getenv('HTTP_FORWARDED');
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
0x01.5:漏洞演示
HTTP_CLIENT_IP 首先client_ip 获取不到就选择 HTTP_FORWARDED_FOR 中的X-Forwarded-For 图:
0x02 案例参考: