zoukankan      html  css  js  c++  java
  • Android 中的敏感信息泄露

    参考文章

    安卓漏洞学习

    测试 app:diva

    漏洞点

    不安全的日志输出

    主要是由于 app 代码中将敏感信息输出到 app 的 logcat 中

    使用 adb 工具查看安卓日志:adb logcat

    硬编码

    开发人员将密码/密钥等敏感字符字节写在源代码中

    不安全的存储

    1. 将敏感数据保存到配置文件xml中;
    2. 将敏感数据保存在本地的数据库中;
    3. 将敏感数据保存在临时文件中。

    一般来说,每个应用存储数据的目录/data/data/package-name/只有自身有权限访问
    应用创建文件时使用 MODE_PRIVATE 模式,但是当创建文件时使用了 MODE_WORLD_READABLE 或 MODE_WORLD_WRITEABLE 模式,会导致其他程序可以读取创建的内容。
    再者:
    当手机开启 root 并赋予其他应用 root 权限时,其他应用便可以查看所有其他应用的内容

    -rw-rw---- u0_a49   u0_a49      16384 2020-11-22 16:17 ids2
    
    # 其中第一列各个字母/符号分别代表
    -   表示无
    d   表示这是一个目录,当然还有其他形式,如 l、b、c、p、s
    r   可读,4
    w   可写,2
    x   可执行,1
    每三个一组,分别代表 拥有者权限、所在组权限、其他用户权限
    
    # 第二/三列表示:文件(目录)拥有者、文件(目录)拥有者所在的组
    # 后面的分别表示文件大小、创建时间以及名称
    

    通过 adb 工具,执行 adb shell 命令进入安卓系统查看具体 app 目录下的各种文件

    SharedPreferences 类存储

    数据会以.xml的形式存储在/data/data/package-name/shared_prefs/

    1. 首先来到目标 app 的存储目录(/data/data/package-name/),可以看到该文件夹下的内容
    2. 来到 app,点击保存账号密码
    3. 重新查看该目录,发现新的文件夹
    4. 进入文件夹,打开生成的 xml 文件
    5. 具体代码

    存到临时文件

    跟上一个相似,点击保存账号密码按钮,会在/data/data/package-name/目录下生成一个临时文件
    来到/data/data/package-name/目录下,查看文件内容,发现多了一个临时文件

    查看文件内容:

    具体代码:

    明文存储到本地数据库

    数据库目录:/data/data/package-name/databases/,以journal结尾的为日志文件
    跟上上个相似,点击保存账号密码按钮,会在数据库目录下生成一个名为ids2的 sqlite 数据库以及一个日志文件

    使用 sqlite 查看数据库内容

    具体代码:

    存到 SD 卡中

    跟上上个相似,点击保存账号密码按钮,会将账号密码信息存到 sd 卡中
    由于模拟器没得 sd 卡,所以只贴具体代码

    Internal Storage

    使用设备内部存储器来创建和保存文件,通常情况下内部存储的文件只能被该当前程序访问,不可被其他程序或用户访问
    常规位置: /data/data/package-name/files/

    Content Provider SQL 注入/目录遍历

    当 Content Provider 暴露,并具有注入或目录遍历漏洞时,其他用户可通过该组件获取用户数据
    具体看这里,传送门

    未启用 https/明文传输

    抓包看即可,如果应用在传输敏感数据时未采用 https 则存在风险。

  • 相关阅读:
    Unity3D之Mesh【创建动态Mesh的学习网站】
    Unity3D之Mesh(三)绘制四边形
    Unity3D之Mesh(二)为三角形添加纹理
    unity的一些重要技巧(转)【整理他人的东西】
    Unity3D之Mesh(一)绘制三角形
    Unity3D连接WCF
    zabbix server搭建遇到的问题
    zabbix server for Centos 6.3
    JAVA笔记整理(九),JAVA中的集合
    MySQL主从复制(Centos6.3&MySQL5.6)
  • 原文地址:https://www.cnblogs.com/wjrblogs/p/14019785.html
Copyright © 2011-2022 走看看