随州信息网 欢迎您!
投稿信箱
收藏本站
当前位置:首页 > 专题专栏
专栏_漏洞
更新时间:2019-07-22 22:05:24 来源:本站   点击数:99  

  在工作中遇到了一次Android应用克隆漏洞的案例,由于攻击过程非常有趣,综合利用了多个中低风险漏洞,产生了化腐朽为神奇的攻击效果。在此分享给大家,以扩展渗透测试思路。

  攻击者可通过散布恶意构造的HTML文件,来窃取受害者的个人信息。一旦受害者打开该文件,受害者的姓名、手机号、身份证号、交易记录等敏感信息将会被窃取。

  受害者打开APP,正常登录。 回到主页面,APP 切换至后台运行。 受害者访问攻击者发布的恶意链接,访问恶意HTML文件。 访问恶意HTML文件后,屏幕先显示APP页面,然后跳转至空白页面。 之后攻击者在服务器端获取账户信息、交易记录等敏感信息。

  Deeplink简单来说就是让APP开发者能够链接到应用内特定的页面,通过Deeplink可以直接从广告到达商品,移动应用开发者可以再现网页端的体验。而判断一个APP程序有没有使用Deeplink,最简单的方法就是通过反编译APP,在AndroidManifest.xml文件中搜索关键字“android:scheme=”。

  既然可以使用Deeplink,那么后续则可以通过Deeplink读取本地文件、执行JS代码,获取用户手机号、身份证号等敏感信息,或者获取Cookie。

  可以使用file://协议,但是被限制了目录,无法读取数据库等文件。 无法直接使用t代码:。 对请求的URL做了限制,只能请求与APP主域名相关的URL。

  既然子域名是白名单,那么我们可以尝试子域名一些页面的跳转功能(如/index?return=,跳转到我们自己的页面上,从而绕过Deeplink白名单限制。

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

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

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

  当然也可以不显示弹窗,直接把Cookie发送到自己的服务器上,以此窃取的Cookie向服务端发起请求,就可以获得该用户的数据了。

  从图4.1可见,Intent Scheme、WebView和子域名这三处中任意一处做了有效过滤的话,都可以阻止这次漏洞攻击。另外,在搜索的漏洞URL结果中可以发现,该APP的防护措施是比较完善的,阻止了file协议的文件读取目录,而且部分子域名页面所加载的JS也使用正则表达式做了任意URL跳转的防护,但还是忽略了对伪协议“t:”的防范(见图4.2)。

  随着业务的拓展,以及网络的不断扩展和日趋复杂,对内、对外服务不断增多,为企业内部制定一个安全编码规范就显得尤为重要。

  总之,网络安全路途漫漫,仍然需要我们不断探索,以研究出更利于网络安全的软件。返回搜狐,查看更多

Powerd by 随州信息网 版权所有

闽ICP备17023684号-1
违法信息举报:企鹅:1 2 6 9 2 4 5 3 8 1