Android通用的jsBridge漏洞挖掘

1. 定位jsBridge

- Smali静态查找
    - 调用 addjavascriptinterface函数
    - 静态 使用@JavascriptInterface annotation的
- 动态hook
    - hook addjavascriptinterface函数
    - 第三方webview, 枚举所有类,看是否有addjavascriptinterface函数,进而hook
- Chrome远程调试,window.object找到导出的js对象

2. 找到所有WebView组件

- 跟踪Menifest文件里带webview的组件
- Activity里继承WebView的
- 第三方webview, 枚举所有类,看是否继承webview,或有webview的成员函数

3. 找特权域白名单

如果存在,在每次执行导出的java方法时都会判断
- getHost 
- getUrl
- contain, indexof, startswith等

4. 打开debug模式

- 调用setWebContentsDebuggingEnabled函数
- 少数app里有隐藏的开关