当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-067911

漏洞标题:ShopBuilder商城程序代码缺陷导致SQL注入一枚

相关厂商:shop-builder.cn

漏洞作者: 屎蛋

提交时间:2014-08-27 11:41

修复时间:2014-11-22 11:42

公开时间:2014-11-22 11:42

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-27: 细节已通知厂商并且等待厂商处理中
2014-09-01: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-10-26: 细节向核心白帽子及相关领域专家公开
2014-11-05: 细节向普通白帽子公开
2014-11-15: 细节向实习白帽子公开
2014-11-22: 细节向公众公开

简要描述:

代码缺陷,缺乏过滤

详细说明:

问题代码存在convertip.php文件中
getip函数通过$_SERVER['HTTP_X_FORWARDED_FOR']))获取ip,可被用户控制造成注入

/**获取IP**/
function getip()
{
if (isset($_SERVER))
{
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$realip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$realip = $_SERVER['REMOTE_ADDR'];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")) {
$realip = getenv( "HTTP_X_FORWARDED_FOR");
} elseif (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;


在smarty_config.php中调用getip函数并统计来访ip入库

if($config['openstatistics'])
{
if(!isrobot())
{
global $db;
$user=empty($_COOKIE['USER'])?NULL:$_COOKIE['USER'];
$time=date("Y-m-d H:i:s");
$ip=getip();
$sql="insert into ".PV."
(url,ip,time,username,fileName)
values
('".substr(urlencode($_SERVER['REQUEST_URI']),0,30)."','$ip','$time','$user','".substr($_SERVER['SCRIPT_NAME'],0,30)."')"; //入库
$db->query($sql);

漏洞证明:

官网demo测试

1.jpg

修复方案:

使用其他方法来获取Ip,必须时做好过滤。

版权声明:转载请注明来源 屎蛋@乌云


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2014-11-22 11:42

厂商回复:

CNVD未在实例上确认,先根据代码分析确认,暂未建立与软件生产厂商的联系渠道,待认领,同时先行确认,建议第三方厂商提供安全防护措施。

漏洞Rank:11 (WooYun评价)

最新状态:

暂无