宝哥软件园

jQuery Mobile漏洞存在跨站点脚本攻击的风险

编辑:宝哥软件园 来源:互联网 时间:2021-09-06

摘要

据外媒最新报道,谷歌安全工程师爱德华多贝拉(Eduardo Vela)发现jQuery Mobile框架存在安全漏洞,这将使所有使用jQuery Mobile的网站面临跨站点脚本攻击的风险。

jQuery Mobile项目(jQuery框架的一个组件)是一个基于HTML5的开发框架。在它的帮助下,开发人员可以设计响应迅速的网站和应用程序,以适应当前主流的移动设备和桌面系统。实际上,jQuery Mobile不仅可以为主流移动平台提供jQuery的核心库,而且是一个相对完整统一的jQuery移动UI框架。据jQuery开发团队介绍,目前全球约有15万个活动网站是由jQuery Mobile开发的。

JQuery Mobile是目前非常热门的一个项目。下图显示了堆栈溢出中有关jQuery Mobile的问题数量的增加:

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

漏洞描述

几个月前,Vela正在努力寻找绕过内容安全策略(CSP)的方法,但在研究过程中,他注意到jQuery Mobile的一个非常有趣的行为。JQuery Mobile将从location.hash属性中获取任何URL地址,然后使用innerHTML处理该URL地址返回的响应。在某些特定情况下,攻击者可以使用此功能攻击目标网站。当他发现这种奇怪的行为时,他开始继续研究,以确定是否存在跨站点脚本漏洞。

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

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

2.如果location.hash中的数据看起来与URL地址相似,它将尝试将其添加到浏览历史记录中(由history.pushuState实现),然后使用XMLHttpRequest请求访问它。

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

它首先尝试调用history.pushState方法,这会增加攻击难度,因为不能对跨域URL使用history.pushState方法。安全专家解释说,虽然history.pushState方法理论上应该能够阻止XSS攻击,但如果网站中存在开放重定向漏洞,攻击者仍然有可能利用该安全漏洞攻击目标网站。

以下是Vela给出的演示[代码下载]:

http://jquery-mobile-xss.appspot.com/#/redirect?URL=http://sirdarckcat.github.io/XSS/img-src.htmlAccording根据安全研究专家的描述,目前有许多网站无法抵御这种类型的攻击,因为许多组织并不认为“开放重定向”是一个安全漏洞,但需要注意的是,像谷歌(/search)、YouTube(/redirect)、脸书(/l.php)、百度(/link)和雅虎(/ads/pixe l)等热门网站都存在这样的安全漏洞。

坏消息来了

其实这是一个很简单的漏洞,很容易找到。Vela确认漏洞后,立即将漏洞信息上报给jQuery Mobile的开发团队,但在开发团队确认了漏洞会给用户带来的安全风险后,Vela却被告知漏洞不会被修复。

如果修复了这个漏洞,很多正在运行的网站和应用都会受到影响,这也是开发团队选择不修复这个漏洞的原因之一。Vela在发布的研究报告【Portal】中写道:“jQuery Mobile团队解释称,他们认为“开放重定向”是一个安全漏洞,但jQuery Mobile获取和呈现URL内容的这种行为并不是安全漏洞,如果要修复这个所谓的“安全漏洞”,会让大量目前在线的网站和应用出现异常,因此他们不打算进行任何修改。这意味着jQuery Mobile的开发团队不会针对这个问题发布任何更新补丁。这也意味着,所有使用jQuery Mobile并具有开放重定向的网站都将存在跨站点脚本漏洞。”

如果目标网站中没有开放重定向漏洞,攻击者能否利用此XSS漏洞进行攻击?Vela和许多其他安全研究人员也在尝试,但迄今为止他们还没有成功。

Vela说:“如果你有时间,你可以尝试在不打开重定向漏洞的情况下利用这个XSS漏洞,这也是一个研究思路。我尝试过很多方法,但还没有成功。”

摘要

开放重定向很常见,但也给网站和应用带来很大的安全隐患。因此,Vela建议安全社区应该修复“开放重定向”功能中存在的安全问题。或者我们应该统一思想,一起把它当成一个安全漏洞。如果整个保安行业在这一点上不能达成一致,估计还有更多的XSS漏洞等着我们。

更多资讯
游戏推荐
更多+