跳过内容

MASTG-TEST-0073: 测试 UIPasteboard

已弃用测试

此测试已**弃用**,不应再使用。**原因**:MASTG V2 中提供新版本

请查看以下涵盖此 v1 测试的 MASTG v2 测试

概述

静态分析

可以通过使用 generalPasteboard 来获取系统范围内的通用剪贴板,在源代码或编译后的二进制文件中搜索此方法。 处理敏感数据时应避免使用系统范围内的通用剪贴板。

可以使用 pasteboardWithName:create:pasteboardWithUniqueName 创建自定义剪贴板。 验证自定义剪贴板是否设置为持久性,因为自 iOS 10 以来已弃用。 应该改用共享容器。

此外,还可以检查以下内容

  • 检查是否使用 removePasteboardWithName: 移除剪贴板,该方法使应用剪贴板失效,从而释放它使用的所有资源(对通用剪贴板无效)。
  • 检查是否存在排除的剪贴板,应该调用带有 UIPasteboardOptionLocalOnly 选项的 setItems:options:
  • 检查是否存在过期的剪贴板,应该调用带有 UIPasteboardOptionExpirationDate 选项的 setItems:options:
  • 检查应用程序在进入后台或终止时是否清除剪贴板内容。 这是由一些密码管理器应用程序完成的,目的是限制敏感数据的暴露。

动态分析

检测剪贴板的使用

Hook 或跟踪以下内容

  • generalPasteboard 用于系统范围内的通用剪贴板。
  • pasteboardWithName:create:pasteboardWithUniqueName 用于自定义剪贴板。

检测持久性剪贴板的使用

Hook 或跟踪已弃用的 setPersistent: 方法,并验证是否正在调用它。

监控和检查剪贴板内容

要在运行时监控和检查剪贴板内容,您可以按照 监控剪贴板 中的说明进行操作。