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

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

缺陷编号:wooyun-2013-025758

漏洞标题:EcShop冒充任意用户发商品评论,合理利用可操纵网店舆论

相关厂商:ShopEx

漏洞作者: 小点兵

提交时间:2013-06-12 18:01

修复时间:2013-09-10 18:01

公开时间:2013-09-10 18:01

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

登录用户可以冒充任意其他注册用户对任意商品发表评论,合理利用可操纵网店舆论

详细说明:

漏洞代码在comment.php的287行处:

code.jpg


$user_name = empty($cmt->username) ? $_SESSION['user_name'] : trim($cmt->username);
$cmt是一个json数据结构,在comment.php的37行处赋值:

code2.jpg


$cmt = $json->decode($_REQUEST['cmt']);
由此可见,这里只要用户提交了"username":"any user account"的json code,就能冒充任意用户发表对指定商品的评论!

漏洞证明:

为验证此攻击,我自己搭建了ECShop的网店,注册了两个账户,test以及test3,如下图:

users.jpg


然后以test登录,进入某个商品的界面,如下图:

comment.jpg


发表评论"test comment",此时用fiddle截获post,并强行添加"username":"test3"到提交的json结构中,如下图:

fiddle.jpg


评论发表后的结果如下图:

result.jpg


这里注意ECShop可以设置用户评论的发表是否需要管理员审核,当设置成不需要审核时,评论自动发表。即使设置成需要审核时,管理员也很难看出哪个评论是冒名提交的,哪个不是,如下图:

manage.jpg


看,管理员看见的,也是被冒名的test3提交的评论!
当然,对于大量提交,在需要管理员审核的时候,ip地址是个问题,不过,攻击者可以用不同的代理服务器来提交不同的冒名评论,这样,ip地址也很难成为侦测这个攻击的线索了:-)

修复方案:

将代码:
$user_name = empty($cmt->username) ? $_SESSION['user_name'] : trim($cmt->username);
改为:
$user_name = $_SESSION['user_name'];

版权声明:转载请注明来源 小点兵@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:3

确认时间:2013-06-13 11:48

厂商回复:

非常感谢您为shopex信息安全做的贡献
我们将尽快修复
非常感谢

最新状态:

暂无


漏洞评价:

评论

  1. 2013-06-12 18:14 | 噬魂 ( 普通白帽子 | Rank:141 漏洞数:37 | 08安全团队)

    这是什么原理。。。求解释

  2. 2013-06-12 18:20 | 小点兵 ( 普通白帽子 | Rank:126 漏洞数:13 | 这个人很懒。。。)

    @噬魂 往数据库里写的时候,username没有强行指定session值,用户可以提交数据覆盖session值往数据库中写

  3. 2013-06-12 18:24 | VIP ( 普通白帽子 | Rank:759 漏洞数:100 )

    看到标题我也找到了漏洞所在

  4. 2013-06-12 18:26 | 大肠精 ( 路人 | Rank:0 漏洞数:2 | 业余兴趣而已)

    这种漏洞有什么意义。。。

  5. 2013-06-12 18:32 | 小点兵 ( 普通白帽子 | Rank:126 漏洞数:13 | 这个人很懒。。。)

    @大肠精 @大肠精 操纵舆论不是很多蠕虫想干的事么?现在蠕虫都不用了,直接越权操纵舆论,把我卖的商品顶上去,同时还能说别人的商品的坏话,呵呵

  6. 2013-06-12 20:04 | 齐迹 ( 核心白帽子 | Rank:784 漏洞数:100 | 一名普通的phper开发者,关注web安全。)

    目测会忽略。。真心不觉得是问题。

  7. 2013-06-12 20:50 | 小胖胖要减肥 认证白帽子 ( 普通白帽子 | Rank:686 漏洞数:101 )

    @齐迹 @小点兵 其实还是算越权把,但是对于用这些开源系统的用户来说,这个算业务问题

  8. 2013-06-12 23:08 | 小点兵 ( 普通白帽子 | Rank:126 漏洞数:13 | 这个人很懒。。。)

    @齐迹 比如你在某以ECShop构建的购物网站注册,然后买了东西。若干天后,你再次登录,发现有人以你的名义在网站上多大量商品进行了评论。难道你认为这不是个问题?你还敢继续信任这个网站不?你还敢继续在这个网站上继续购物???

  9. 2013-06-12 23:10 | 小点兵 ( 普通白帽子 | Rank:126 漏洞数:13 | 这个人很懒。。。)

    @小胖胖要减肥 是越权,问题出在代码上。运营网站的管理员无法修复。故不能算业务问题

  10. 2013-06-19 00:51 | 0x2b ( 实习白帽子 | Rank:51 漏洞数:12 )

    这种漏洞有什么意思 我想知道下

  11. 2013-09-11 09:16 | 孤独男孩 ( 路人 | Rank:8 漏洞数:5 | 专注网络信息安全,漏洞发掘,代码审核,云...)

    我先了解一下,试试先