Sutune

静心成大器, 稳定动乾坤


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

Cycript iOS 动态分析

发表于 2020-08-19 | 分类于 App安全测试

Cycript是由Cydia创始人Saurik推出的一款脚本语言,Cydia的主要目的是为越狱的iOS用户提供的一个装包工具。据说Cydia之父Saurik,曾经也是给iPhone写程序的,后来他写了一个视频拍摄软件而苹果没允许上架,他一气之下就开了Cydia软件商店,专门收留不被苹果通过的软件。

Cycript混合了OC和JavaScript语法的解释器,这意味着我们能够在一个命令中使用OC或者JavaScript,甚至两者并用。它能够Hook(挂钩)正在运行的进程,能够在运行时修改很多东西。

阅读全文 »

MobSF移动安全扫描平台

发表于 2020-08-11 | 分类于 App安全测试

目前有很多App安全扫描平台如360漏洞扫描,腾讯金刚审计系统等等。这些安全扫描平台的功能如下:

测试要点 详细说明
静态分析 静态分析应用源代码中存在的安全风险,检测包含Android组件安全,应用程序安全,数据安全。
动态检测 检测包含客户端自身安全,Android组件增强检测,应用通信安全,数据安全。
模拟人机交互 模拟用户和手机交互行为,检测交互过程中应用存在的通信安全风险。
服务器指纹探测 探测后端服务器指纹,进行安全分析,检测后端服务器系统,开发框架,Web服务器,数据库等服务组件安全。
服务器后端API检测 抓取应用通信过程中的资源地址,检测应用与服务器通信接口是否存在SQL注入,XSS跨站,中间人攻击等安全问题。
阅读全文 »

iOS脱壳——dumpdecrypted

发表于 2020-08-06 | 分类于 App安全测试

脱壳背景

我们日常开发提交给Appstore发布的App都经过官方保护加密,这样可以保证机器上跑的应用是经过苹果审核过的,也可以管理软件授权。经过App Store加密的应用,我们无法通进行反编译静态分析,在逆向分析过程中需要对加密的二进制文件进行解密才可以进行静态分析,这一过程就是所谓的脱壳(砸壳)。

iOS脱壳工具目前主要有一下3种:

  • Clutch
  • dumpdecrypted
  • frida-ios-dump

由于Clutch脱壳不太稳定,frida-ios-dump环境配置比较复杂,所以本文以dumpdecrypted这个工具做为脱壳工具。

阅读全文 »

iOS安全测试-KeyChain

发表于 2020-07-21 | 分类于 App安全测试

Keychain简介

根据苹果的介绍,iOS设备中的Keychain是一个安全的存储容器,可以用来为不同应用保存敏感信息比如用户名,密码,网络密码,认证令牌。苹果自己用keychain来保存Wi-Fi网络密码,VPN凭证等等。它是一个在所有app之外的sqlite数据库。

keychain可以说是系统里唯一可以做到安全可靠存储应用敏感数据并且可以在应用卸载或重新安装时仍然保留其数据的地方。当使用itunes进行数据备份时,每个应用程序在keychain里的数据都会得到备份,而且备份的数据是经过加密的。

虽然keychain的访问有权限控制,但是,在越狱的设备上,是可以查看到所有的keychain存储数据。所以在使用Keychain存储用户敏感信息(如 access_token, password等)时,最好还是要加密。

阅读全文 »

App性能测试——网络测试

发表于 2020-07-06 | 分类于 App性能测试

当前APP网络环境比较复杂,移动运营商网络有2G、3G、4G、5G网络,甚至未来的6G网络,以及越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异,都会对用户使用App造成一定影响。

另外,当前App使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。如果App没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR、数据丢失等问题。因此App网络测试,特别是弱网测试尤为重要。

阅读全文 »

iOS安全测试—Sandbox

发表于 2020-07-05 | 分类于 App安全测试

Sandbox简介

Sandbox 沙盒也叫沙箱,其原理是通过重定向技术,把程序生成和修改的文件定向到自身文件夹中。在沙盒机制下,每个程序之间的文件夹不能互相访问。

iOS系统为了保证系统安全,在 应用程序在安装时,会创建属于自己的沙盒文件,应用程序不能直接访问其他应用程序的沙盒文件,当应用程序需要向外部请求或接收数据时,都需要经过权限认证,否则,无法获取到数据。

应用程序中所有的非代码文件都保存在沙盒中,比如图片、音频、属性列表(Plist),sqlite数据库和文本文件等。

ios_sandbox

阅读全文 »

App性能测试——功耗测试

发表于 2020-06-29 | 分类于 App性能测试

功耗,通俗的理解即电流通过导体使设备运行,导体本身的电阻将电能转换为热能的过程,因此,通常功耗测试也叫电量测试。

耗电量测试是指测试App在运行过程中消耗的能量。
设备运行期间消耗能量公式:W = w * t = U * I * t

  • w表示单位时间耗电量
  • U为电池供电电压
  • I为电流值
  • t为测试时间
    通常来说U可以认为不变,对于平稳的测试过程,耗电量与测试时间成正比。
阅读全文 »

APP性能测试——内存占用

发表于 2020-06-13 | 分类于 App性能测试

购买Android手机时经常可以看到6G+128GB,8G+256GB这些版本配置,这里面的6G,8G表示是随机存取存储器(英语:Random Access Memory,缩写:RAM;也叫主存)是与CPU直接交换数据的内部存储器。它可以随时读写,而且速度很快,通常作为操作系统或其他正在运行中的程序的临时资料存储介质。

阅读全文 »

App性能测试——CPU使用率

发表于 2020-06-07 | 分类于 App性能测试

CPU使用率是性能测试是一项重要指标,CPU占用过高会使得设备运行程序出现卡顿与发热,甚至出现应用程序Crash,影响用户体验。在排除硬件环境的限制下,应用程序应该尽可能少的占用CPU。

阅读全文 »

App性能测试——启动耗时

发表于 2020-05-24 | 分类于 App性能测试

应用启动是整个App工序的第一道流程。对于开发者,一般需要在应用启动过程中进行初始化工作,启动页的UI展示。而对于用户来说,启动速度的快慢则极大地影响了使用体验,并且间接地影响了用户的留存率。

阅读全文 »
1234…15
Sutune

Sutune

142 日志
8 分类
18 标签
GitHub TesterHome E-Mail 知乎
© 2015 — 2021 Sutune
由 CloudBase Webify 提供网站托管服务
|
主题 — NexT.Gemini v5.1.4