android的安全知识

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_31433525/article/details/80013872

WebView

主要包括三种漏洞:

任意代码执行
Android4.2以后,通过addJavascriptInterface注解的方法可被网页中的java方法调用。如果未加过滤则可能存在漏洞
挖掘方法:
编写遍历对象的网页,如果存在getClass方法则存在远程代码执行漏洞
fiddler的before脚本可以让任意webview访问任意网页时进行测试

域控制不严格
WebView如果打开了对JavaScript的支持,同时未对file:///形式的URL做限制,则会导致coookie、私有文件、数据库等敏感信息泄露
setAllowFileAccess
setAllowFileAccessFromFileURLs
setAllowUniversalAccessFromFileURLs(导致远程泄露敏感信息)
通过符号链接攻击可以访问本地文件:无论怎么限制,js都能访问本文件的。而通过延时执行和将当前文件替换成指向指向其他文件的软连接就可以读取到被符号链接所指向的文件

密码明文存储
当用户选择保存在WebViEW中输入的用户名和密码时,则会被明文保存到app目录下的data.db中
具有root权限的攻击者可以读取

签名漏洞

该漏洞可以绕过安卓系统的signature scheme V1签名机制,使攻击者在不改变原来apk签名的情况下,植入恶意代码。一旦攻击者将植入恶意代码的仿冒的App投放到安卓商店等第三方应用市场,就可替代原有的App做下载、更新。安装这些仿冒App后,不仅会泄露个人账号、密码、照片、文件等隐私信息,手机更可能被植入木马病毒,进而或导致手机被ROOT,甚至被远程操控。
影响范围:安卓5.0到8.0系统以及基于signature scheme V1签名机制的App均受“Janus”漏洞影响;基于signature scheme V2签名的App则不受影响。
处置操作:
1、终端用户应尽快升级到最新版安卓系统,短期内,尽量到官方网站更新、下载App。
2、APP提供者应尽快将App APK(安装包)升级到最新的Signature scheme V2签名机制;及时校验App APK文件的开始字节,以确保App是未被篡改;
解决方案:
Android Studio 2.2 和 Android Plugin for Gradle 2.2 默认使用V2签名。
使用eclipse的可以对原先的apk包进行二次签名。
apksigner.jar文件只能在sdk>=25中找到

C:\Users\Administrator\AppData\Local\Android\Sdk\build-tools\26.0.1\lib>java -jar apksigner.jar sign --ks E:\codeChange\ProjectCode\文件名.keystore --ks-key-alias 别名--ks-pass pass:密码--key-pass pass:密码 --out C:/Users/Administrator/Desktop/输出文件名.apk C:/Users/Administrator/Desktop/需要签名的文件名.apk

检验是否是v2签名:

检测工具下载地址

C:\Users\Administrator\Desktop>java -jar ./CheckAndroidV2Signature.jar ./文件名.apk

参考
android手动 v2 签名

猜你喜欢

转载自blog.csdn.net/qq_31433525/article/details/80013872
今日推荐