Sandbox 沙盒也叫沙箱,其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。在沙盒机制下,每个程序之间的文件夹不能互相访问。
iOS
系统为了保证系统安全,在 应用程序在安装时,会创建属于自己的沙盒文件,应用程序不能直接访问其他应用程序的沙盒文件,当应用程序需要向外部请求或接收数据时,都需要经过权限认证,否则,无法获取到数据。
应用程序中所有的非代码文件都保存在沙盒中,比如图片、音频、属性列表(Plist
),sqlite
数据库和文本文件等。
因为应用的沙盒机制,应用只能在指定的几个目录下读写文件。默认情况下,每个沙盒含有3个文件夹:Documents
, Library
和 tmp
。
存储 App 执行文件和静态资源文件,该目录包含了应用程序本身的数据,包括资源文件和可执行文件等。程序启动以后,会根据需要从该目录中动态加载代码或资源到内存。
由于应用沙盒文件属于敏感信息文件,直接从Appstore
下载一个应用来查看沙盒文件是没有权限的,除非逆向破解。那么作为测试人员查看应用沙盒文件,则需要将测试设备绑定开发者证书才可以查看。
1 . 打开导航栏中 Window -> device and Simulators
Download container...
保存到指定目录。iFunBox是iPhone以及苹果其他产品的通用文件管理软件。
Sandbox
中存储的文件,主要有Plist files
, sqlite
、Cookie
三种类型,这三种类型的文件安全验证点分别如下:
1. Plist files (查看工具: Xcode (Mac),plistEditor(windows)
,)
2. sqlite (查看工具: sqlite manager
)
3. Cookie
Cookie
有效期(有效期不能短于登录cookie
的有效期)SQL
注入链接、管理员登陆账号密码”一类信息。