首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

WebView域控不严格读取内部私有文件实验

0x00实验环境 开发工具:Android studio 3 模拟器: 操作机器:Windows 10 0x01实验目的 通过认识安卓系统中webview域控制不严格漏洞导致文件泄露 0x02 实验工具...通过 android studio 开发两个简单的APP 0x03 实验内容 1、 漏洞概述 A 应用可以通过B应用导出的 Activity让B应用加载一个恶意的file协议的url来获取B应用的内部私有文件...2、 漏洞原理 当B应用的activity是可被导出的,同时设置允许WebView使用File协议,则A应用可以在外部调起B的activity,同时向B传递一个请求内部数据的文件,则可以获取B的数据。...是关键,而且值一定要是true,主要目的是为了让webview可以使用file协议,如下图: (代码中使用intent接收来自其他activity传递来的数据) 1.2攻击者APP编写 1、 新建设工程...是被设置成android:exported=”true”,这是我们编写APP调用victim应用中activity的前提。

1.3K90

Android开发笔记(一百五十一)WebView与JavaScript交互的四种形式

App与Web做为消息通信的双方,具体的交互行为分为四类,包括:App通知Web执行某项动作、App主动从Web获取信息、Web通知App执行某项动作,Web主动从App获取信息,这四种行为详细说明如下...App通知Web执行某项动作 Web提供一个JavaScript方法,然后App由WebView调用loadUrl加载该JS方法,具体的App代码如下所示: wv_js.loadUrl("javascript...App主动从Web获取信息 WebView对象调用evaluateJavascript方法,该方法通过回调接口ValueCallback获得JS的返回串,具体的App代码如下所示: if (Build.VERSION.SDK_INT...Web主动从App获取信息 该行为的主要流程同行为三,区别在于App方法的返回值类型由void改为String,然后JS即可从App获得返回信息。...下面是演示WebView与JavaScript交互用到的html文件源码: <meta name="viewport" content="width=device-width

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    笔记 | Xamarin

    by network security policy' - Sharley - 博客园 Android 9.0强制使用https,会阻塞http请求,如果app使用的第三方sdk有http,将全部被阻塞...顶部进度条 - 简书 WebView添加进度条_wuqingsen1的博客-CSDN博客_webview进度条 WebView 与 JavaScript 交互 参考: Hybrid WebView 技术总结...,放在 result (JsPromptResult) 中,所以选择拦截它 5.WebView -> js: webView.LoadUrl 缺点: C# 调用 js ,无法立即获取 js的返回值,只能通过...value) { // value 为 js 返回的结果 // 转换为 string 写法来自:Xamarin.Forms.Platform.Android.JavascriptResult...Android 清单包含 android:debuggable 属性,该属性控制是否可以调试应用程序。 将 android:debuggable 属性设置为 false 被视为一种很好的做法。

    24K20

    Android开发笔记(六十四)网页加载与JS调用

    内置浏览器 网页视图WebView 如果一个网站已经有现成的网页及业务逻辑,那么使用WebView将其内嵌到app中,省去了app重画页面与http通信的事情,无疑是更经济的做法。...Android与js互调获得返回值 js调用Android方法,可直接获取调用的返回值,难点在于Android调用js方法的返回值。...因为WebView加载网页是异步的,所以loadUrl方法调用js无法直接获得返回值。多数情况只能在js代码中回调Android方法,从而间接获取Android调用js的返回值。...javascript"> function getMsg(){ return "来自网页的消息: hello world!"...4、js获取Android方法返回值中的中文是正常,但Android获取js方法返回值的中文却是“\u”打头的字符串,所以Android要先将js返回的字符串做转义处理,即调用上面的UnicodeToString

    6.4K10

    Android 渗透测试学习手册 第七章 不太知名的 Android 漏洞

    事实上,通过使用它,攻击者甚至可以使用 JavaScript 来调用手机上的某些方法,例如向另一个号码发送短信,拨打电话,甚至使用诸如 Drozer 之类的工具获取远程 shell。...一旦我们运行应用程序并监听 Burp 代理中的流量,我们将看到应用程序中指定的 URL 的请求,如以下屏幕截图所示: 现在,当响应来自服务器时,我们可以修改响应数据并使用它来利用此漏洞,如以下屏幕所示...事实上,你可以尝试调用不同的方法或使用 Drozer 从设备获取远程 shell。...我们把malware.smali中的软件包名称的所有引用更改为合法应用程序的软件包名称,并在AndroidManifest.xml中注册服务。...海豚浏览器 HD 有一个名为BrowserActivity的漏洞活动,它可以被其他应用程序以及其他参数调用。

    1.2K10

    Android实现WebView加载assets文件夹下的html文件,html返回webView.canGo,android嵌入h5进行交互,调试错误 net::ERR_FILE_NOT_FOUND

    调试错误 net::ERR_FILE_NOT_FOUND  我的环境:win7 ,Android studio 3.0.1.   ...java8; webView.loadUrl("file:android_asset/text"); html超链接在 Android studio 中的使用: android_asset...} return super.onKeyDown(keyCode, event); } Android和H5之间的交互 1、webView加载页面 我们都知道在...Android中是通过webView来加载html页面的,根据HTML文件所在的位置不同写法也不同: //例如:加载assets文件夹下的test.html页面 webView.loadUrl("file...本地通过Java调用HTML页面中的JavaScript方法 想要调用js方法那么就必须让webView支持 WebSettings webSettings = mWebView.getSettings

    10910

    android 置灰不可点击,Android Studio 运行按钮灰色的完美解决方法

    大家好,又见面了,我是你们的朋友全栈君。 Android Studio 运行按钮灰色的完美解决方法 今天新建项目的时候突然发现编译后运行按钮为灰色。...到此这篇关于Android Studio 运行按钮灰色的完美解决方法的文章就介绍到这了,更多相关Android Studio 运行按钮灰色内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们...WebView引起的内存泄漏,经过测试发现该部分泄漏只会出现在android 5.1及以上的机型.虽然项目使用WebView的场景并不多,但秉承着一个泄漏都不放过的精神,我们肯定要把它给解决了....测试torch是否安装成功 impo 初来乍到,在安装过程中出现的一些问题给大家分享一下. 大家在安装完android studio后,创建项目,设置avd在运行时,模拟器没有出现,显示了错误信息....,变量值为avd路径 设置完以后一定要 最近被一个AS的sync问题困扰,在引入远程依赖包的时候,会出现一个sync错误,提示找不到这个类库.然而,并不是所有的工程都会出现这个问题,有的工程引入同样的类库却没有问题

    13.5K11

    深入理解Android WebView的加载流程与事件回调

    在Android开发中,WebView用于显示网页和执行JavaScript。理解其加载流程和事件回调对于开发一个功能丰富且用户友好的基于Web的应用至关重要。...每个回调都在特定的时机被触发,以处理不同的事件和状态变化。 二、WebView 加载过程中的原生层处理及代码示例 在使用 WebView 进行Android开发时,可能会遇到一系列实际问题。...JavaScript 交互:AwContents 提供了与 JavaScript 代码交互的接口,允许 Android 应用与网页中的 JavaScript 代码进行通信。...,我们通过JavaScript代码获取这个元素的内容,然后在回调中检查这个内容是否存在。...实际的检查方法可能需要根据你的具体需求进行调整。例如,你可能需要检查多个元素,或者使用更复杂的JavaScript代码来检查页面的状态。

    45910

    uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式

    activity 并获取activity返回过来的数据: //获取当前Activity,使用H5的方式调用android原生方法,从而启动activity var main = plus.android.runtimeMainActivity...(一般为int,标志不同的支付类型) //resultCode 结果码,结果码用于标识返回数据来自哪个新Activity //data Intent中所携带的数据 main.onActivityResult...获取参数并计算(这里模拟原生处理) String newstring = "你好,这个字符串来自android原生代码,您传过来的参数是:" + array.optString(1); //...互调,WebView是一个很重要的控件,WebView可以很好地帮助我们展示html页面,所以有必要先了解一下WebView。...|| 使用Android Studio打包应用APK uni-app&H5&Android混合开发三 || uni-app调用Android原生方法的三种方式 【新手指南】Android Studio

    6.2K20

    鸿蒙-webview的使用和JS交互(附源码)【鸿蒙专题04】

    > 步骤 2 - 在"slice/MainAbilitySlice.java"文件中通过如下方式获取WebView对象,示例代码如下: WebView webview = (WebView) findComponentById...1.WebView加载网络Web页面 跟Android类似,要访问网络,我们首先要配置网络访问权限,在config.json的"module"节点最后,添加上网络权限代码 module": { ......WebView提供Navigator类进行历史记录的浏览和处理,通过getNavigator()方法获取该类的对象,使用canGoBack()或canGoForward()方法检查是否可以向后或向前浏览...的调用,示例代码如下: webview.executeJs("javascript:callJS('这是来自JavaSlice的消息')", msg -> { // 在这里处理Js的方法的返回值...调用应用 在"resources/rawfile/test.html"中编写按钮,当按钮被点击时实现JavaScript对应用的调用,示例代码如下: <button id="button

    4K20

    H5 手机 App 开发入门:技术篇

    3.2 Android Studio 安卓的官方开发工具是 Android Studio,可以去官网下载。 ? 安装完成后,打开新建一个项目,类型是"Empty Activity"。 ? ?...Android Studio 会询问项目参数,包括项目名称、开发语言(Java)等,然后就进入了开发环境。因为它是基于 Java IDE 修改的,懂 Java 的朋友应该对这个界面比较熟悉。 ?...运行代码之前,Android Studio 要求必须连接真机,或安装安卓模拟器。完成以后后,在工具栏上点击运行按钮,就可以运行代码查看效果了。 ? ?...如果一切正常,就可以让 Android Studio 打包,生成 App 的二进制安装文件。 四、混合技术栈 上面的原生技术栈需要自己新建 WebView 实例,相比之下,混合技术栈就简单多了。...它的使用需要 Visual Studio,这里就不举例了。根据官方文档,WebView 的用法如下。 ?

    6.9K41

    webview接入HttpDNS实践

    更详细的内容可以参考这篇文章:【鹅厂网事】全局精确流量调度新思路-HttpDNS服务详解 移动端的实现原理 域名的解析工作将在HttpDNS服务器上完成,客户端只要把待解析的域名作为参数发起一个HTTP...以防万一,将这它改为可读写,因为后面就要对这块内存做写操作了。...用Android Studio调试Framework层代码中也对其进行过断点调试。 所以解决方法很简单,只需要hook libchromium_net.so中getaddrinfo导入符号即可。...我之前定位过Android5.0设备的DNS解析函数,发现它的名字改为android_getaddrinfofornet。 ? webview的so库位置也曾遇到过找不到的问题。...在上面输出的第一行可以看到,android 5.0以上版本webview的so已经被放在system/app目录中了。

    3.8K61

    Android:你不知道的 WebView 使用漏洞

    如可以执行命令获取本地设备的SD卡中的文件等信息从而造成信息泄露 具体获取系统类的描述:(结合 Java 反射机制) Android中的对象有一公共的方法:getClass() ; 该方法可以获取到当前类...Android 4.2版本之后 Google 在Android 4.2 版本中规定对被调用的函数以 @JavascriptInterface进行注解从而避免漏洞攻击 B2....WebView 加载页面前加载一段本地的 JS 代码,原理是: 让JS调用一Javascript方法:该方法是通过调用prompt()把JS中的信息(含特定标识,方法名称等)传递到Android端;...Application的组件启动 android:exported="true" 即 A 应用可以通过 B 应用导出的 Activity 让 B 应用加载一个恶意的 file 协议的 url,从而可以获取...); 这一攻击能奏效的原因是:通过 javascript 的延时执行和将当前文件替换成指向其它文件的软链接就可以读取到被符号链接所指的文件。

    3.3K20
    领券