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

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

缺陷编号:wooyun-2015-095160

漏洞标题:优酷某处设计缺陷可无广告看视频(某关键信息获取与整个测试过程)

相关厂商:优酷

漏洞作者: 齐迹

提交时间:2015-02-02 11:09

修复时间:2015-03-19 11:10

公开时间:2015-03-19 11:10

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

危害等级:高

自评Rank:12

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

之前优酷向我索取联系方式。我表示你能不能给1年半年个会员!结果。。。就没有结果了!
作为优秀白帽子。向厂商直接索取礼物是多么掉节操的事情啊!
于是乎,自己动手丰衣足食!就有了这个洞!(PS:能送会员吗~_~)

详细说明:

优酷有一个功能,可以系统跳过广告。
但是需要一个clienid
怎么获取这个clienid 是一个漫长的过程!翻了无数优酷的站点
功夫不负有些人 总算找到了!
发现一个分站
http://minisite.youku.com/engnice/
首页的视频居然不会有广告!然后通过firebug 修改视频ID。结果也是没广告!
看网络
请求
https://openapi.youku.com/v2/players/custom.json?client_id=e60598a400fcc86b&video_id=XODgzNzE4NjE2&embsig=undefined&refer=http%3A//minisite.youku.com/engnice/index.php&callback=partnerinfo.parse
返回

partnerinfo.parse({"status":1,"noband":{"status":"0","loadingurl":""},"style":{"status":"0"},"passless":"0","atm":"ecafbe43a84face3ddc1b98df5174bb7","token":"7ebc74c4f6b7bdfb426c732e642dac02"});


接着模仿上面的页面,做一个页面
详见 证明!
接着本地运行!出乎意料!还是有广告!
这个时候我就有点纳闷儿了。
通过firebug看到 请求中的refer 貌似不对!于是乎 我就本地搭建了一个minisite.youku.com
接着访问本机的 minisite.youku.com/youku.php
结果广告还是出来了!
我×,这是什么情况?
于是我进行研究 看是什么东西导致了这个视频还是广告了!
我先是解除了Host绑定 访问了一下minisite.youku.com
接着 在绑定host 在访问!广告没有了!
总算是没广告了!
不过这个好麻烦!于是我又进行了尝试。
打开浏览器隐私模式!访问 minisite.youku.com/youku.php
我去!直接无广告了!
看来一定和某cookie 有关。就懒得深入了!

漏洞证明:

自己电脑建立一个站点 minisite.youku.com
把下面内容命名为 youku.php
用浏览器隐私模式访问 minisite.youku.com/youku.php

<html>
<head>
<title>无广告视频</title>
<script type="text/javascript" src="http://project.youku.com/common/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="http://project.youku.com/common/js/jquery.easing.1.3.js"></script>
<script type="text/javascript" src="http://project.youku.com/common/js/jquery.tools.min.js"></script>
<script type="text/javascript" src="http://project.youku.com/common/js/jquery.mousewheel.js"></script>
<script type="text/javascript" src="http://project.youku.com/common/js/jquery.jscrollpane.min.js"></script>
<script type="text/javascript" src="http://project.youku.com/common/js/string_check.js"></script>
<script type="text/javascript" src="http://player.youku.com/jsapi"></script>
<script type="text/javascript" src="http://project.youku.com/common/js/player-3.3.min.js"></script>
<form action="?" method="get">
输入视频地址:<input type="text" name="url" size="100" value="http://v.youku.com/v_show/id_XODgzNzE4NjE2.html" />
<input type="submit" value="无广告观看" />
</form>
<?php
preg_match_all("/id_([A-Za-z0-9]+)/",$_GET['url'],$code);
$code = $code[1][0] ? $code[1][0] : "XODgzNzE4NjE2";
?>
<script>
var currentVid;
var workId;
var objDialogVCode;
var objDialogWorkDetail;
var objPanelShow = null;
var vplayer;
var numMoveHeight = 100;
var shareUrl;
var shareTitle;
var sharePic;
var bolSubmiting = false;
var bolCompleteStop = false;
var bolAutoPlay = false;
var bolShowDetail = false;
var opacityShow = 1;
var opacityHidden = 1;
var totalVideoNum = 0;
var currentVideoNo = 0;
var scrollTopNow;
var isIE6 = false;
var isHomePage = false;
function playVideo(vid, div, ap, cid, cb, ss, w, h){
var params = {};
params.vid = vid;
params.div = div;
params.autoPlay = ap;
params.debug = false;
params.full = true;
params.transparent = true;
params.showRelated = false;
params.showAds = false;
params.clientId = 'e60598a400fcc86b';
vplayer = player.load(params);
bolAutoPlay = ap;
}
</script>
</head>
<body>
<div class="videobox">
<div id="div_videoplayer" class="videoplayer"></div>
</div>
<script>
playVideo("<?php echo $code;?>", "div_videoplayer", true, true, false, true);
</script>
</body>
</html>

修复方案:

这个问题我想了一下 你们修复还是蛮困难的!你们的技术人员已经很努力的防止绕过了!
但愿你们不修复把!这样就不用看广告了!

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

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

厂商回复:

多谢提醒!

最新状态:

暂无