MASTG-TEST-0043: 内存损坏漏洞
此测试即将更新
此测试目前可使用,但将作为新的 OWASP MASTG v2 指南 的一部分进行全面修订。
请通过提交 PR 来帮助我们:MASTG v1->v2 MASTG-TEST-0043:内存损坏漏洞 (android)
概述¶
静态分析¶
需要寻找以下各种项目
- 是否存在本机代码部分?如果是,请检查常规内存损坏部分中给出的问题。本机代码可以很容易地通过 JNI 包装器、.CPP/.H/.C 文件、NDK 或其他本机框架来发现。
- 是否存在 Java 代码或 Kotlin 代码?查找序列化/反序列化问题,例如 Android 反序列化漏洞简史中所述的。
请注意,Java/Kotlin 代码中也可能存在内存泄漏。查找各种项目,例如:未注销的 BroadcastReceivers,对 Activity
或 View
类的静态引用,具有对 Context
引用的 Singleton 类,内部类引用,匿名类引用,AsyncTask 引用,Handler 引用,错误的线程处理,TimerTask 引用。有关更多详细信息,请查看
动态分析¶
需要采取以下各种步骤
- 如果是本机代码:使用 Valgrind 或 Mempatrol 分析代码的内存使用情况和内存调用。
- 如果是 Java/Kotlin 代码,请尝试重新编译该应用程序并使用 Squares leak canary。
- 使用 Android Studio 中的内存分析器检查泄漏。
- 使用 Android Java 反序列化漏洞测试器,检查序列化漏洞。