APP漏洞利用组合拳——应用克隆案例分析
在root设备上将APP目录导出到PC上,使用类似grep工具搜索关键字 *.xxx.com、url=、path=、back=、return=,发现多个存在任意URL跳转漏洞或JS代码执行漏洞的URL。
Payload示例:adb shell am start -a "android.intent.action.VIEW" -d "mydeeplink://?mydeeplink={url:'https://static.xxx.com/pages/accllation/transit.html?returnUrl=https://www.baidu.com'}" ,可通过命令行启动Android虚拟机中的APP,并访问百度页面,绕过白名单限制,如图3.3所示。 图3.3 子域名URL跳转百度成功 4. 构造恶意HTML获取Cookie 结合以上分析过程,通过构造恶意HTML文件,结合Deeplink、白名单绕过和JS代码执行漏洞,获取用户Cookie,使用Cookie获取用户敏感信息。 构造综合利用POC:
在Android模拟器中打开APP,登录账号,然后按Home键返回主界面。 在浏览器中访问构造的恶意HTML链接 http://192.168.96.1/test.html,自动唤醒APP,待页面加载完毕后,成功弹出Cookie,如图3.4所示。 图3.4 获取用户cookie 当然也可以不显示弹窗,直接把Cookie发送到自己的服务器上,以此窃取的Cookie向服务端发起请求,就可以获得该用户的数据了。 四、总结 简单梳理一下整个漏洞利用流程,如图4.1所示。 图4.1 漏洞利用流程 从图4.1可见,Intent Scheme、WebView和子域名这三处中任意一处做了有效过滤的话,都可以阻止这次漏洞攻击。另外,在搜索的漏洞URL结果中可以发现,该APP的防护措施是比较完善的,阻止了file协议的文件读取目录,而且部分子域名页面所加载的JS也使用正则表达式做了任意URL跳转的防护,但还是忽略了对伪协议“javascript:”的防范(见图4.2)。 图4.2 漏洞触发点 随着业务的拓展,以及网络的不断扩展和日趋复杂,对内、对外服务不断增多,为企业内部制定一个安全编码规范就显得尤为重要。 总之,网络安全路途漫漫,仍然需要我们不断探索,以研究出更利于网络安全的软件。 【本文为51CTO专栏作者“安全加”原创稿件,转载请联系原作者】 戳这里,看该作者更多好文
(编辑:常州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |