这次我们看看程序在设备上存储了什么敏感信息
(server-env)sartre:AndroidLabs2 maxim$ adb shell # cd /data/data/com.securitycompass.androidlabs.base # ls lib shared_prefs # cd shared_prefs # ls preferences.xml com.securitycompass.androidlabs.base_preferences.xml
查看preferences.xml文件如下:
# cat preferences.xml <?xml version=‘1.0‘ encoding=‘utf-8‘ standalone=‘yes‘ ?> <map> <string name="serverpass">password</string> <string name="localpasssalt">+tm+vXQuNL01T2caEwlG6XBj9ZrS9w5XfVk5EFV15SQ= </string> <string name="serveruser">jdoe</string> <boolean name="firstrun" value="false" /> <string name="localpasshash">vt8O7P2Y1dPYjRJG/F7QXADtpc2/DxlvpYya2b/oSIA= </string> </map>
可以看到他明文保存了用户名和密码,这种敏感数据应该加密存储,或者不存储,由backend验证