[0day]jQuery Mobile XSS
漏洞影响范围:
任何一个website使用了 jQuery Mobile 并且开放了重定向都有可能存在XSS,并且目前还没有相关补丁信息。
应用介绍:
jQuery Mobile是jQuery 框架的一个组件(而非jquery的移动版本)。jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架。支持全球主流的移动平台。jQuery Mobile开发团队说:能开发这个项目,我们非常兴奋。移动Web太需要一个跨浏览器的框架,让开发人员开发出真正的移动Web网站。
详细信息:
漏洞发现作者[Eduardo Vela (sirdar kcat)],在前几个月研究SCP绕过的时候发现jQuery Mobile有一个非常奇怪的行为,它会取URL中的location.hash,输出到innerHTML中。所以决定仔细的分析一下相关原因:
漏洞信息:
1、检查你的jQuery Mobile是否在location.hash中
2、如果看到localtion.hash有URL,它会调用history.pushState,这样你不能调用history.pushState 到跨域URL
3、它会将innerHTML响应到页面中
理论上这个是安全的,但是如果你有任意开放的重定向,就会存在这个XSS,因为对于jQuery Mobile来说history.pushState打开是相同的域
作者在2017年2月8号尝试联系了,jQuery Mobile的团队说:我们认为这个一个Open Redirect的漏洞,而不是他们获取时候锁造成的漏洞,并且不打算进行更新,
如果更新会破坏现有的应用,所以意味着,这个补丁也不会被更新。
测试URL:http://jquery-mobile-xss.appspot.com/#/redirect?url=http://sirdarckcat.github.io/xss/img-src.html
测试代码:
main.py
import webapp2 class MainHandler(webapp2.RequestHandler): def get(self): # pylint:disable-msg=invalid-name
"""Handle GET requests."""
self.response.write("""
<link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="https://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>""") class RedirectHandler(webapp2.RequestHandler): def get(self):
"""Handle GET requests."""
self.redirect(str(self.request.get("url"))) APP = webapp2.WSGIApplication([
('/redirect', RedirectHandler),
('/.*', MainHandler),
], debug=True)
app.yaml
application: jquery-mobile-xss
version: 1
runtime: python27
api_version: 1
threadsafe: yes handlers:
- url: /.*
script: main.APP libraries:
- name: webapp2
version: "2.5.2"
从安全从业者的角度来看:每个使用jQuery Mobile,并且开放了重定向都会存在这个XSS漏洞。
另外值得一提的是,如果你使用了随机数SCP策略,但是仍然还可以通过How to bypass CSP nonces with DOM XSS
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/xmt1139057136/article/details/35258199 学习jQuery Mob ... 转:http://www.cnblogs.com/linjiqin/archive/2011/07/17/2108896.html 简介:jQuery Mobile框架可以轻松的帮助我们实现非常好看的 ... 在做一个Phonegap+Jqm工程的时候,出现了如题的问题,相信很多人都遇到过Jquerymobile点击body时候header和footer会闪烁的显示和隐藏问题,fixed却并不能真 ... jquery mobile 问题多多,兼容性太差.android4.1下完全崩溃.以后再也不用jquery mobile了 先上最终效果: 最近做了一个用手机浏览器访问的web应用,采用较流行的HTML5,为了提高开发效率节省时间决定采用现有开源框架,免去了自己做设计与兼容性. 一些比较优秀的框架:10大优秀的移动Web应 ... 一.简介 先说说,我们的主题.jQuery Mobile,最近用Moon.Web和Moon.Orm做了一套系统 jQuery Mobile是jQuery 在手机上和平板设备上的版本.jQuery ... 1..ui-mobile-viewport是jquery mobile默认给body加的class,这样的话包含选择符优先级高一点 <style> .ui-mobile-viewport ... 在单页模版中使用基于HTTP的方式通过POST和GET请求传递参数,而在多页模版中不需要与服务器进行通信,通常在多页模版中有以下三种方法来实现页面间的参数传递. 1.GET方式:在前一个页面生成参数并 ... 1.获取jQuery mobile 文件,访问jQuerymobile网站下载 (貌似使用jquery mobile后,jquery会自动在网页中添加一些class类,第一次知道的我是被吓呆的!!) ... 数据完整性 Hadoop用户肯定都希望系统在存储和处理数据时不会丢失或损坏任何数据.尽管磁盘或网络上的每个I/O操作不太可能将错误引入自己正在读/写的数据中,但是如果系统中需要处理的数据量大到Hado ... 一.跨域 浏览器的同源策略 ----对ajax请求进行阻拦 ----对href属性读不阻拦 xhr=new XML ... 数据链路层使用的信道主要有两种类型:点对点信道和广播信道. 点对点 路由器在转发分组时只使用了下面的三层. 链路是从一个结点到相邻结点的一段物理线路,中间没有其他交换结点. 必须有一些必要的通信协议来 ... (1)百度文库安装步骤: http://wenku.baidu.com/link?url=B7NIE3gmoVx7UYUKigVGMjmINFIThpkH0DLXcYGx_9B1YzrX1QfHO2N ... 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面.即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后.然后比较第2个数和第3个数,将 ... 本文所选的例子来自于<Advanced Bash-scripting Gudie>一书,译者 杨春敏 黄毅 Example 4-6. wh,whois域名查询 #!/bin/bash #做 ... 一般来说,可以使用typeof来判断数据类型,但是数组,对象和null的结果都是object,那么如何区分这三类呢?可以使用如下方法: var arr = []; var obj = {} var e ... 时间限制:1秒 空间限制:32768K 热度指数:198342 本题知识点: 数组 题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复 ... 题目链接 /* Name:nyoj-115-城市平乱 Copyright: Author: Date: 2018/4/25 17:28:06 Description: dijkstra模板题 枚举从 ... 题目链接 思路:建树之后,判断有多少种不同的树. 判断不同的树,简单的思路是遍历数组,判断数组后面是否存在一样的树 /* Name:NYOJ-1278-Prototypes analyze Copyr ...[0day]jQuery Mobile XSS的更多相关文章
随机推荐