美文网首页
Android应用常见问题

Android应用常见问题

作者: 闪电恋 | 来源:发表于2020-11-09 11:57 被阅读0次

    应用安全常见问题及解决方案(2018年9月15日)
    Android应用常见问题
    1.组件问题
    2.Url绕过问题
    3.中间人攻击
    4.Webview漏洞

    Drozer 是一 款 Android 安全测试 框架
    Burp Suite
    flowdroid 是一 款针对 Android app 数据流分析工具

    组件问题

    组件暴露 --调用隐藏功能、拒绝服务
    组件含有权限未设置保护 --·执行高权限功能
    组件配置失当 --造成的被劫持问题(隐式调用被劫持)
    造成影响
    1.拒绝服务
    2.调用未授权界面(甚至后门)

    解决方案: Drozer 是一 款 Android 安全测试 框架

    Url 绕过问题

    • 路径遍历漏洞

    问题应用/SDK大量使用路径/Url作为参数,如果
    不校验路径的合法性,容易导致路径遍历攻击
    • Android 平台最典型的路径遍历漏洞是ZipEntry,
    URL路径遍历问题跟传统的web相同。

    • Url白名单绕过

    Webview组件加载url,但是使用者并不一定希望
    webview组件任何网页都可以加载,因此会实现一
    个白名单函数约束加载的网页
    • 常见约束ur的函数有contains()、indexOf()、
    endwith()、getHost()等等。

    URL 绕过问题解决方案

    • URL白名单存在场景:
    • Android:scheme属性
    • 暴露组件
    • 扫一扫
    • 聊天输入
    • 评论
    不安全校验函数(进行校验)
    • contains()
    • indexOf()
    • endwith()
    • getHost()
    • getPathSegments()

    中间人攻击
    Http中间人攻击 --所有http都可以被中间人攻击
    Https中间人攻击

    漏洞位置:X509TrustManager 、HostnameVerifier 、 setHostnameVerifier
    漏洞触发前提条件:
    (1)自定义的X509TrustManager不校验证书;
    (2)或实现的自定义HostnameVerifier不校验域名接受任意域名;
    (3)使用setHostnameVerifier (ALLOW_ALL_HOSTNAME_VERIFIER);
    对应场景:
    (1)客户端不校验SSL证书或者校验逻辑有误
    (2)自定义实现HostnameVerifier接口,却不检查站点域名和证书域名是否匹配
    (3)直接使用接受任意域名的HostnameVerifier接口

    解决方案:Burp Suite

    Webview 漏洞
    • WebView远程代码执行(4.3版本以前)
    • CVE-2012-6636 addJavascriptInterface 利用该漏洞执行任意Java对象的
    方法
    CVE-2013-4710 openFile 同源绕过
    File 域控制不严
    • setAllowFileAccessFromFileURLs
    • setAllowUniversalAccessFromFileURLs
    • setAllowFileAccess + setJavaScriptEnabled(true)
    • 信息泄露
    • 密码明文存储 setSavePassword (true)(4.4版本前)
    • 地理位置泄露 setGeolocationEnabled
    Url 外部可控
    • loadUrl (String url)
    • loadUrl (String url, Map<String, String> additionalHttpHeaders)
    • loadData(String data, String mimeType, String encoding)
    • loadDataWithBaseURL(String baseUrl, String data, String mimeType,
    String encoding, String historyUrl)

    大量暴露javascript接口

    通过代码跟踪发现,这个接口可以执行很多操作。例如发短信、打电话、下载应用等等功能
    利用方式:将js脚本中间人注入到该应用的webview交互返回的报文中即可

    Webview 漏洞解决方案
    扫描代码关键字:
    1、setSavePassword
    2、setGeolocationEnabled
    3、setAllowFileAccessFromFileURLs
    4、setAllowUniversalAccessFromFileURLs
    5、setAllowFileAccess
    6、setJavaScriptEnabled
    7、@JavascriptInterface
    8、setAllowContentAccess

    如何检查应用内的隐私泄露?
    flowdroid 是一 款针对 Android app 数据流分析工具
    工具路径: https :// github.com/secure- - software- - engineering/FlowDroid
    source --------- sink
    工具分析信息流所有可能的路径,追踪从 source 到 sink 的所有数据流。
    source :账号 密码、联系人、短信、数据库、 IMEI 等敏感数据
    sink :因特网 、存储卡 、 log 打印、 短信发送

    相关文章

      网友评论

          本文标题:Android应用常见问题

          本文链接:https://www.haomeiwen.com/subject/zkslbktx.html