WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 2623查看
  • 0回复

主题

好友

1378

积分

金牌会员

发表于 2010-9-17 17:21:03 |显示全部楼层
一、描述
BlueCMS是一个地方分类信息门户专用CMS系统。
程序在使用getip()函数获取客户端ip时没有严格过滤数据,导致sql注射漏洞。

二、分析
      //comment.php

$sql = "INSERT INTO ".table('comment')." (com_id, post_id, user_id, type, mood, content, pub_date, ip, is_check)VALUES ('', '$id', '$user_id', '$type', '$mood', '$content', '$timestamp', '".getip()."', '$is_check')";           // 注意getip()
$db->query($sql);

再看看这个函数
    //include/common.fun.php

function getip()
{
if (getenv('HTTP_CLIENT_IP'))
{
   $ip = getenv('HTTP_CLIENT_IP');        //可伪造
}
elseif (getenv('HTTP_X_FORWARDED_FOR'))
{
   $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;
}

漏洞比较简单,$_SERVER老掉牙的问题。

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-4-29 08:54 , Processed in 0.056113 second(s), 16 queries .

返回顶部