一、漏洞分析
今天我们来看一下Android中的屏幕录制功能带来的一个漏洞问题,在之前的一篇文章中介绍了关于Android5.0新增的Api来进行录制屏幕视频,不了解的同学,可以点击这里。当时记得我们在使用这个api的时候,系统会给一个授权提示:
这个对话框是系统弹出来的提示消息,主要由两部分组成,应用的名称+提示文案,看似是一个很平常的授权对话框,但是这背后却有这个一个很大的UI漏洞,而且在之前的一篇文章中了解到,这个录制屏幕功能的危险性还是很大的。那么这个UI漏洞是啥呢?
其实很简单,就是Android系统中在弹出对话框的时候,如果内容过多,会采用滚动样式,来展示全部消息,而不是使用字符省略的方式。那么这里就存在一个问题了,如果把应用的名称故意弄的很长,导致后面一段提示文案:“将开始截取您的屏幕上显示的所有内容”给抵到底部,只有滑动的时候才能看到,这样来骗取用户点击立即开始。同时再把应用的名称改成一些银行或者是社交账号,支付应用的提示文案,比如:“xx宝新增了特性...点击立即开始,即可体验!”,而用户相信就开始点击了,当然这里还需要一个功能,就是监听系统的TopActivity,当监听到用户打开了银行app或者是社交app的时候,就去申请权限,弹出对话框!
下面通过MediaProjectionManager的源码来分析一下,授权提示流程: