任何使用jQuery Mobile网站中都存在一个尚未修复的XSS漏洞

news/2024/5/13 8:15:43/文章来源:https://blog.csdn.net/weixin_33811539/article/details/90389948

任何使用jQuery Mobile网站中都存在一个尚未修复的XSS漏洞

概述

根据国外媒体的最新报道,谷歌公司的安全工程师Eduardo Vela在jQuery Mobile框架中发现了一个安全漏洞,这个漏洞将会让所有使用了jQuery Mobile的网站暴露于跨站脚本攻击风险之下。

安全客小百科:jQuery Mobile

jQuery Mobile项目(jQuery框架中的一个组件)是一个基于HTML5的开发框架,在它的帮助下,开发者可以设计出能够适配目前主流移动设备和桌面系统的响应式Web站点以及应用程序。实际上,jQuery Mobile不仅可以为主流移动平台提供jQuery的核心库,而且它也是一个较为完整统一的jQuery移动UI框架。根据jQuery开发团队的介绍,目前全球范围内大约有十五万个活动站点是采用jQuery Mobile开发的。

jQuery Mobile是目前一个非常热门的项目,下图显示的是Stack Overflow上关于jQuery Mobile的提问数量增长情况:

Stack Overflow上关于jQuery Mobile的提问数量增长情况

下图显示的是jQuery Mobile的使用统计情况:

jQuery Mobile的使用统计情况

漏洞描述

几个月之前,当时的Vela正在苦苦寻找内容安全策略(CSP)的绕过方法,但是在研究的过程中他注意到了jQuery Mobile的一种非常有意思的行为。jQuery Mobile会从location.hash属性中获取任意的URL地址,然后再用innerHTML来处理这个URL地址所返回的响应,而在某些特定条件下,攻击者就可以利用它的这种特性来攻击目标网站。当他发现了这种奇怪的行为之后,他便开始继续研究,以确定网站是否存在跨站脚本漏洞。

Vela在对这个XSS漏洞进行了深入分析之后给出了该漏洞的运行机制,大致如下:

1. jQuery Mobile首先会检查location.hash属性值。

2. 如果location.hash中的数据看起来跟URL地址差不多的话,它会尝试将其添加到浏览历史记录之中(通过history.pushuState实现),然后再利用XMLHttpRequest来对其进行请求访问。

3. 接下来,它会使用innerHTML来处理服务器端的响应数据。

它首先会尝试调用history.pushState方法,这会增加一定的攻击难度,因为你无法对一个跨域的URL使用history.pushState方法。安全专家解释称,虽然从理论上来说,history.pushState方法理应能够防范XSS攻击,但如果网站存在开放重定向漏洞的话,攻击者依旧有可能利用这种安全漏洞来对目标站点实施攻击。

下面是Vela给出的demo【代码下载】:

 
  1. http://jquery-mobile-xss.appspot.com/#/redirect?url=http://sirdarckcat.github.io/xss/img-src.html 

根据安全研究专家的描述,目前有很多网站都无法抵御这种类型的攻击,因为很多组织并不认为“开放重定向”是一种安全漏洞,而需要注意的是,像谷歌(/search)、YouTube(/redirect)、Facebook(/l.php)、百度(/link)以及雅虎(/ads/pixel)这样的热门网站都存在这种安全漏洞。

http://p9.qhimg.com/t01c781829812cff638.png

坏消息来了

实际上,这是一个非常简单的漏洞,想要找到这种漏洞其实也很容易。在Vela确认了该漏洞之后,他便立刻将漏洞信息上报给了jQuery Mobile的开发团队,但是当开发团队确认了该漏洞将会给用户带来的安全风险之后,Vela却被告知这个漏洞不会得到修复。

如果修复了该漏洞的话,目前很多正在运行的Web站点和应用程序都将会受到影响,这也是开发团队选择不修复该漏洞的原因之一。Vela在其发表的研究报告【传送门】中写到:“jQuery Mobile团队解释称,他们认为“开放重定向”是一种安全漏洞,但是jQuery Mobile的这种获取并呈现URL内容的这种行为并不是一种安全缺陷,而且如果要修复这种所谓的“安全漏洞”,那么将会使大量目前已上线的Web站点和应用程序出现异常,所以他们并不打算做任何的修改。这也就意味着,jQuery Mobile的开发团队不会就这个问题发布任何的更新补丁。而这也同样意味着,所有使用了jQuery Mobile且存在开放重定向的网站都将存在跨站脚本漏洞。”

漏洞

如果目标网站不存在开放重定向漏洞的话,攻击者是否还可以利用这个XSS漏洞来实施攻击呢?Vela和很多其他的安全研究人员也正在进行尝试,但目前仍未取得成功。

Vela表示:“如果你有时间的话,你可以在没有开放重定向漏洞的条件下尝试去利用这个XSS漏洞来实施攻击,这也是一种研究思路。我试过很多种方法,但目前都还没有取得成功。”

总结

开放重定向(Open Redirect)是非常常见的,但它也同样会给网站和应用程序带来巨大的安全风险,因此Vela建议安全社区应该修复“开放重定向”这个功能中存在的安全问题。或者说我们应该统一思想,然后一起将其视为一种安全漏洞。如果整个安全行业在这一点无法达成一致的话,估计还有更多的XSS漏洞在等待着我们。

作者:WisFree
来源:51CTO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_788240.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三百八十八节,Django+Xadmin打造上线标准的在线教育平台—网站列表分页

第三百八十八节,DjangoXadmin打造上线标准的在线教育平台—网站列表分页 分页可以用一个第三方分页模块django-pure-pagination 下载地址:https://github.com/jamespacileo/django-pure-pagination#settings 下载后安装此模块即可 使用pure-pagination分…

bat php 监控网站,GitHub - lazybat/phpspider: 《我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言 》所使用的程序...

phpspider -- PHP蜘蛛爬虫框架《我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言 》所使用的程序phpspider是一个爬虫开发框架。使用本框架,你不用了解爬虫的底层技术实现,爬虫被网站屏蔽、有些网站需要登录或验证码识…

PublicCMS 网站漏洞 任意文件写入并可提权服务器权限

PublicCMS是目前网站系统中第一个采用JAVA架构 TOMCATApccheMysql数据库架构的CMS网站,开源,数据承载量大,可以承载到上千万的数据量,以及用户的网站并发可达到上千万的PV,PublicCMS静态全站html,访问速度极…

图片优化_网站图片优化之道1--对图片本身的性能优化

图片对于网站而言的重要性一个网站若是没有一张图片,相信大家都是不愿意去看的,而图片的丰富呈现,给我们的网站内容增加了不少的色彩。“一图胜千言”说的就是这个道理。但是图片多了,网站会越来越慢,客户就会抱怨&…

Slog36_支配vue框架初阶项目之博客网站-注册页面-合并登陆和注册页面

ArthurSlogSLog-36Year1GuangzhouChinaAug 12th 2018GitHub掘金主页简书主页segmentfault生活需要惊喜和新鲜 人有时候因为很执着一件事 而忘记了自己人生的意义 开发环境MacOS(High Sierra 10.13.5) 需要的信息和信息源: HTTP概述HTTP互联网是如何工作的万维网是如…

Jmeter测试网站并发量

转载自:https://www.cnblogs.com/qqbook/p/7705483.html 如何测试一个网站的性能(并发数)? JMeter网站并发性测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于…

搜索引擎优化系统知名乐云seo_搜索引擎seo优化主要从哪里入手?

首先我们应该了解什么是搜索引擎优化以及网站搜索引擎seo优化的价值,从基础开始逐步深入,下面拓王朝所要讲的都是一些理论知识,很好理解,有不同见解欢迎评论。SEO优化SEO搜索引擎优化,是指通过采用易于搜索引擎索引和排…

水果网站关于我们的纯html的代码_Google说有效的HTML问题的6个原因

谷歌的加里伊利耶斯(Gary Illyes)最近发布的一条推文呼吁人们注意无效HTML的问题。Google可以使用无效的HTML。鲜为人知的是,无效HTML会带来负面结果。Google的支持页面鼓励发布者编写有效的HTML代码。Gary Illyes发了一条以下消息&#xff1…

怎么查看linux日志里请求量最高的url访问最多的_网站日志分析最完整实践

分析网站日志可以帮助我们了解用户地域信息,统计用户行为,发现网站缺陷。操作会面临几个问题 - 日志分析工具splunk如何使用? - 日志格式信息不全,如何配置日志打印出全面信息? - 有大量爬虫访问,并非真实流…

制作index.HTML千履千寻,网站测试与发布

个主页空间,该空间即网站在Internet中存放的位置,网上用户在浏览器中输入该位置的地址后即可访问网站。1.注册并申请主页空间网上可申请主页空间的网站比较多,各个网站上的申请操作也基本相同,下面以在“虎翼网”上申请免费主页空…

php网站部署 代码泄露,PHP如何修复“页面异常导致本地路径泄露”

以下是OMG小编为大家收集整理的文章,希望对大家有所帮助。自从1月份网站更换空间后,网站程序运行稳定,并及时升级后台程序,360检测的分数都是100分。不过最近查看360收录的时候,发现网站的分数是91分,提示&…

php网站 只显示sinsiu_网站灯笼特效,增加喜庆气氛

很早以前就看见(过年前),果核剥壳网站挂起了灯笼。今日查资料偶然发现一点优化也有,仔细看,那个穗尾的位置也不对。蒲公英博客的穗尾的位置也不对,看来两者引用的可能是同一源码。经过上网简单查阅相关资料,特别是爱搜…

java 爬虫 图片_我用java爬虫爬了一个图片网站

我用java爬虫爬了一个图片网站最近想建立个网站,不想搞技术博客之类的网站了,因为像博客园还有CSDN这种足够了。平时的问题也都是这些记录一下就够了。那搞个什么网站好玩呢?看到一个图片网站还不错,里面好多图片(当然有xxx图片了…

iis怎么切换网站php版本,windows服务器iis7.5安装多个php版本切换设置

因为某个网站程序的配置是在php5.3上面运行的,不兼容我现在的php5.5.所以就只能再安装个5.3的了。在安装过程中,忘记截图了。。。就直接写吧。准备工作:1:php版本,这个根据自己需要的,自己去下载吧&#xf…

java短信验证码功能发送的验证码如何校验_如何在网站中添加手机短信验证码注册功能?...

这个功能大家都非常熟悉了,就不废话了,直接入正题!下面以使用榛子云短信为例:1. 首先注册一个榛子云账号,注册地址: http://sms_developer.zhenzikj.com/zhenzisms_user/register.html2. 注册完毕后从个人登录入口进入,地址:http:…

做网站用java 还是php_做网站用java还是php

做网站用java还是php?做网站用PHP会更合适, 因为php主要就是用于web网站开发方面,开发比较快速。1,PHP适合于快速开发,中小型应用系统,开发成本低,能够对变动的需求作出快速的反应。而Java适合于…

php网站转为app的工具,网站打包成APP,可以直接将一个网站转成安卓App的Hbuilder工具...

我们有时候会想把自己的网站做成一个app,但是原生的自己没有基础又不会,网上找到的云打包之类的倒是可以直接把网站打包成app,但是免费版的避免不了会有广告或者体验时间限制,收费的又不想花钱,很愁人,今天…

h5网页网站制作代码_h5网页制作和普通网页有什么区别?

h5网页制作和普通网页有什么区别?通常企业在咨询网站建设时,网站建设公司的商务都会把网站流程和前期需要准备的资料,更会详细的介绍一下H5网页制作的一些优势和趋势。其实H5是指第5代HTML网页技术,HTML5是目前互联网前端开发的主流语言&…

pil获得图片_「实践」如何优雅地给网站图片加水印

很多论坛、博客在进行图片上传之后,都会给自己的图像加上水印,这样可以证明这张图片「属于我」或者是「来自我的博客/网站」。那么使用 Serverless 技术来加水印的方法比传统方法好在哪儿呢,本文将对此进行一个简单的分享。传统的加水印的方法…

某高校校园卡网站模拟登陆(php)

让我们先来看登陆界面,这里可以使用卡号或学号,这里我们使用卡号,其实是一样的输入卡号后,点击密码输入框,弹出一个密码键盘输入密码以后,点击验证码框出现验证码输入验证码以后正常登陆下面来看看这个登陆…