Android-DIVA分析
1. Insecure Logging
主要是由于app代码中将敏感信息输出到app的logcat中,查看app记录的logcat
adb shell ps| grep -i diva
adb shell logcat | grep 1012
在diva中输入数字1111222233334444 测试:输出纯文本显示应用程序的信息
2.Hardcoding Issues
使用了硬编码的方式,导致存在一定的安全风险
3.Insecure Data Storage-Part1
不安全的数据存储也是App常见的安全问题之一,主要有三种方式:
1,将敏感数据保存到配置文件中;
2,将敏感数据保存在本地的sqlite3数据库中;
3,将敏感数据保存在临时文件或者sd卡中。
源码:InsecureDataStorage1Activity
去/data/data/jakhar.aseem.diva
(包的名称) shared_prefs 文件夹中找到:-检查内容:-打开.xml文件,找到用户先前引入的凭据:SharedPreferences类存储的数据会以.xml的形式存储在/data/data/apppackagename/shared_prefs
4.Insecure Data Storage-Part2
用户的敏感信息存储到本地的数据库中,一般app对应的数据库目录:/data/data/apppackagename/databases
打开文件夹,有许多不同的数据库。
我们可以尝试其中任何一个,直到找到有趣的信息 但是,为了简单起见,我们直接转到ids2:- Android使用 sqlite 数据库管理系统:- ids2数据库中有2个表:- 从表myuser中选择所有内容,我们找到用户引入的凭据
5.Insecure Data Storage-Part3
/data/data/jakhar.aseen.diva/零时数据 uinfotemp
6.Insecure Data Storage-Part4
原目录查看,InsecureDataStorage4Activity
发现函数getExternalStorageDirectory()
及uinfo.txt
7.Input Validation Issues-Part1
//SQLInjectionActivity
package jakhar.aseem.diva;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle