关于 frida-data-extraction
面向获准测试目标的 Frida 运行时数据观察指南,适用于 Android、iOS 和原生缓冲区。内容强调数据来源验证、敏感信息脱敏,并避免未经要求改变目标行为。
主要功能
- 01Android 与 iOS 高信号观察点
- 02原生缓冲区转储示例
- 03按用户操作关联日志
- 04敏感数据脱敏原则
- 05验证数据来源与编码
适用场景
- 01观察应用请求或序列化数据
- 02检查偏好设置、数据库或文件访问
- 03在授权测试中分析运行时数据
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rudra-ravi/ frida-skills --skill frida-data-extraction安装后在 Claude Code 中输入/frida-data-extraction确认已加载。
附带文件agents/openai.yaml
详细介绍
Frida 数据提取
当目标是观察运行时数据,而不是绕过检查时,请使用此技能。
规则
- 仅从用户获准测试的系统中提取数据。
- 除非用户明确需要,否则避免将机密打印到共享日志中。
- 优先使用结构化日志,并对令牌、Cookie、密码和私钥进行脱敏。
- 在回调中复制指针和 retval 数据;Frida 可能会回收回调对象。
Android 边界
Java.perform(() => {
const Base64 = Java.use("android.util.Base64");
Base64.encodeToString.overload("[B", "int").implementation = function (bytes, flags) {
const out = this.encodeToString(bytes, flags);
console.log("Base64.encodeToString ->", out);
return out;
};
});
高价值目标:请求构建器、JSON 序列化器、SharedPreferences、SQLite API、密钥库封装、加密 API、WebView 桥接、文件 I/O。
iOS 边界
高价值目标:NSURLRequest、NSURLSession、NSJSONSerialization、Keychain 封装、NSUserDefaults、SQLite、CommonCrypto、文件 API、剪贴板。
原生缓冲区
function dump(ptr, len) {
if (ptr.isNull() || len <= 0) return;
console.log(hexdump(ptr, { length: Math.min(len, 256), ansi: false }));
}
仅当数据是有效文本时,才同时使用十六进制和文本形式。二进制加密材料通常并非如此。
验证
- 日志与用户操作或请求相关联。
- 每个值的来源和编码都清晰明确。
- 除非确有需要,否则对敏感值进行脱敏。
- 除非明确要求,否则 Hook 不会改变目标行为。
参考资料
- Frida JavaScript API:https://frida.re/docs/javascript-api/
- Frida 消息:https://frida.re/docs/messages/
- OWASP MASTG Frida:https://mas.owasp.org/MASTG/tools/generic/MASTG-TOOL-0031/
评论
支持 Markdown