不安全数据存储 Part1

目标:找出凭证存储的位置/方式以及易受攻击的代码

提示:不安全的数据存储是系统上不安全地存储机密信息的结果,即加密不良、纯文本、访问控制问题等

需要输入第三方用户名和密码

这里输入

Yc:YCheung

提示已经保存成功

源码

找到InsecureDataStorage1Activity代码

这里使用的存储方式为Android的五大数据存储方式之一SharedPreferences


SharedPreferences

SharedPreferences是Android平台上一个轻量级的存储辅助类,用来保存应用的一些常用配置,它提供了string,set,int,long,float,boolean六种数据类型。最终数据是以xml形式进行存储。在应用中通常做一些简单数据的持久化缓存。

保存路径

/data/data/<package name>/shared_prefs/****.xml

简单了解该存储方式之后,来到对应存储路径之后可以看到存在一个.xml文件

内容即为刚刚输入的值


不安全数据存储 Part2

源码

第二种不安全数据存储与第一种界面一样,直接看源码

找到Part2的Activity源码,InsecureDataStorage2Activity

这关使用了SQLite数据库存储


SQLite

Android 为了让我们能够更加方便的管理数据库,专门提供了一个SQLiteOpenHelper 帮助类,借助这个类可以非常简单的将数据库进行创建好升级。
SQLiteOpenHelper 中有两个非常重要的实例方法,getReadableDatabase() 和 getWritableDatabase() 。这两个方法可以创建或者打开一个现有的数据库(如果数据库存在则直接打开,否则创建一个新的数据库),并返回一个可对数据库进行读写操作的对象。不同的是,当数据库不可写入(如磁盘空间已满),getReadableDatabase方法返回的对象将以只读的方式打开数据库,而getWeitableDatabase则出现异常
————————————————
版权声明:本文为CSDN博主「xianKOG」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiankog/java/article/details/81702119

其使用方法(增删改查)与其他数据库大同小异

数据库位置

/data/data/<package name>/database/***.db

这一关代码直接执行SQL语句操作数据库,没有使用SQLite存储类提供的方法,并且直接拼接用户可控的变量,存在SQL注入漏洞,但是这一关主题不是SQL注入,所以要找到SQLite数据库存储路径

Android上可以使用RE管理器软件查看数据库

点击打开可看到数据表

选择表即可看到数据


不安全数据存储 Part3

源码

第三种不安全数据存储采用了创建临时文件方式,存放到应用数据目录

/data/data/<package name>/

按照源码,文件绝对路径应该为

/data/data/<package name>/uinfo****tmp

这次输入admin:password,然后来到相应目录下,可以看到存在该文件

打开

不安全数据存储 Part4

源码

这一关采用了文件存储,而文件存储又分手机内部存储与手机外部存储,这一关使用了外部文件存储


手机内部文件存储

特点

  1. 对于存储文件类型没有要求
  2. 只要没有超出内部存储空间的大小即可
  3. 默认情况下,只能被当前应用读取
  4. 存储路径:/data/data/<package name>/files/***
  5. 会随着应用的卸载而被删除

手机外部文件存储

特点

  1. 两个路径

    • 路径一:storage/sdcard/Android/data/<package name>/files/***
    • 路径二:storage/sdcard/***
  2. 两个路径存储的文件,对文件类型没有要求
  3. 文件的大小只要不超出SD卡的存储空间即可
  4. 两个路径下存储的文件不是私有的,其他应用也可以访问
  5. 路径一:其下存储的文件会随着应用的卸载被删除
  6. 路径二:其下存储的文件不会随着应用的卸载被删除

必须保证应用有SD卡的读写权限,否则会操作失败


这一关在sdcard的根目录的.uinfo.txt文件

输入aaa:bbb

打开


不安全数据存储4part完结

参考文章:

Android之SharedPreferences简介及使用说明

Android 四大组件,五大存储,六大布局

Android五大数据存储

标签: Android安全, DIVA

添加新评论