检测混合 Android 应用中的帧混淆漏洞
1. 帧混淆检测算法
帧混淆检测方法可以通过以下伪代码(算法 1)来概括。对于一个通用的 .apk 格式的 Android 应用,算法步骤如下:
1. 检索应用使用的 Android 权限列表。
2. 如果列表中不包含 Internet 权限,那么应用不能使用 WebView 组件,标记为无漏洞。
3. 否则,计算应用所有被调用方法的列表,以定位 setJavaScriptEnabled 和 addJavascriptInterface API 的存在。
4. 如果识别到 setJavaScriptEnabled 调用,进一步调查调用的标志参数。若为 True ,表示 WebView 启用了 JavaScript 执行,将其对象引用添加到启用 JavaScript 的列表中。
5. 若存在 addJavascriptInterface ,提取调用该方法的 WebView 对象和注入到 JavaScript 接口中的 Java 对象。检测注入的 Java 对象是否包含可从 JavaScript 代码访问的公共方法。
6. 如果分析未能找到至少一个启用 JavaScript 且包含暴露 Java 方法的 JavaScript 接口的 WebView 实例,应用标记为无漏洞。
7. 否则,收集 WebView 访问的所有网站页面,包括 .apk 包资源中的页面、通过 loadURL 方法静态调用的页面和应用执行期间动态访问的页面。 <
超级会员免费看
订阅专栏 解锁全文
1814

被折叠的 条评论
为什么被折叠?



