DIVA系列教程 part 3 – 不安全数据存储

DIVA的3,4,5,6关都是涉及 INSECURE DATA STORAGE 不安全数据存储

在这里四个一起讲了,强效四合一效果更出众 0.0

此四关的目标和提示都是相同的,即

  • 目标:找到登录凭证存储在哪以及怎样存储,找到对应的缺陷代码
  • 提示:系统中不安全存储敏感信息导致了不安全数据存储问题,例如加密、纯文本、访问控制等

每一关的数据输入也都是相同的

3. INSECURE DATA STORAGE – PART 1

输入的测试数据是

username/password = admin1/admin2

点击保存后数据就写入了设备中,关键是找到数据存储在哪个位置。

在 InsecureDataStorage1Activity.class 中找到关键代码

根据代码,数据存储在 SharedPreferences 

appie中adb shell进入系统,来到 /data/data/目录下

根据diva package的信息或grep diva查找diva

找到package名为jakhar.aseem.diva,打开路径后发现有shared_prefs文件,进入后有xml文件,查看找到登录信息

4. INSECURE DATA STORAGE – PART 2

输入的测试数据为

username/password:hehe1/hehe2

查看源码 InsecureDataStorage2Activity.class 发现数据存储在数据库 ids2 中

接下来查出数据库在 /data/data/jakhar.aseem.diva/databases 下

需要查看数据库 ids2,但是直接看是不行的,需要将数据库文件下载到本地,使用adb pull命令下载数据库

appie中使用sqlite3打开ids2数据库,查看myuser表信息找到用户名/密码

5. INSECURE DATA STORAGE – PART 3

输入测试数据为:

username/password : aa1/aa2

查看源码InsecureDataStorage3Activity.class 程序使用tmp临时文件保存信息,以uinfo开头

在路径中找到uinfo文件,cat就可以看到用户名/密码信息

6. INSECURE DATA STORAGE – PART 4

输入测试数据为:

username/password: bb1/bb2

查看源码 InsecureDataStorage4Activity.class  数据存储在 ExternalStorageDirectory 中,以 .uinfo.txt做后缀

即外部存储sdCard中,默认路径为

来到路径,ls查看并没有找到 .uinfo.txt后缀文件

使用命令 ls -al查看可以看到  .uinfo.txt文件

使用cat查看文件找到用户名/密码信息

总结:

敏感数据存储时需要进行加密和hash,不要简单的保存为纯文本,也不要存储在默认路径下,需要设置敏感文件的读写权限

您可能还喜欢...