x-forwarded-for获取IP地址并入库的安全隐患

鉴客 发布于 2012/03/22 09:29
阅读 407
收藏 0

最近在和某黑阔挖某程序的漏洞,其中有一段就是留言板,留言板的代码如下

$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
$content = safe($_POST["content"]);
然后写入数据库..

虽然说post过来的content是验证了,函数“safe”也过滤的很全

之后我又想起来以前有一篇文章,大概是利用php伪造IP地址,之后看了下代码,是模拟发送 HTTP_X_FORWARDED_FOR

既然这个没经过任何过滤,那就可以进行sql注入了。

本地环境模拟:

谷歌了一段伪造ip的php,伪造的sql注入语句。。这样sql注入就形成了。。

修补方法:

对获取到的IP进行验证,如果出现特殊字符,则禁止提交

加载中
0
leo108
leo108
<?php
$IP = "XXXXXX";
if(!filter_var($IP, FILTER_VALIDATE_IP))
{
	echo "IP is not valid";
}
else
{
	echo "IP is valid";
}
?>

话说这个博客以前和我博客做过链接……
返回顶部
顶部