1、Activity组件漏洞
Activity是Android组件中*基本也是*为常见用的四大组件之一,是一个负责与用户交互的组件。Activity组件中存在以下常见的漏洞。(1)activity绑定browserable与自定义协议activity设置“android.intent.category.BROWSABLE”属性并同时设置了自定义的协议android:scheme意味着可以通过浏览器使用自定义协议打开此activity。可能通过浏览器对app进行越权调用。(2)ActivityManager漏洞ActivityManager类中的killBackgroundProcesses函数,用于杀死进程,属于风险API。还有通过ActivityManager被动嗅探intent。Intent嗅探脚本首先调用一个Context.getSystemService()函数,并传给它一个ACTIVITY_SERVICE标志的标识符,该函数返回一个ActivityManager类的实例,它使得该脚本能够与activitymanager进行交互,并通过这个对象调用ActivityManager.getRecentTasks()方法。把intent相关的信息格式化成字符串返回出来。2、Service组件
2、Service组件
3、BroadcastReceiver导出漏洞
当应用广播接收器默认设置exported='true',导致应用可能接收到第三方恶意应用的广播,利用这一漏洞,攻击者可以在用户手机通知栏上推送任意消息,通过配合其它漏洞本地隐私文件和执行任意代码。Android可以在配置文件中声明一receiver或者动态注册一个receiver来接收广播信息,攻击者假冒APP构造广播发送给被攻击的receiver,是被攻击的APP执行某些敏感行为或者返回敏感信息等,如果receiver接收到有害的数据或者命令时可能泄露数据或者做一些不当的操作,会造成用户的信息泄漏甚至是财产损失。
4、ContentProvider组件漏洞
ContentProvider为存储和获取数据提供统一的接口。可以在不同的应用程序之间共享数据。
(1)读写权限漏洞ContentProvider中通常都含有大量有价值的信息,比如用的电话号码或者社交帐号登录口令,而确认一个contentprovider是否有能被攻击的漏洞的的办法,就是尝试攻击它一下。可以用drozer来寻找一些不需要权限的contentprovider:dz–permissionnull这条命令能列出所有不需要任何读写权限的ContentProvider,然后找到相对应的包,去访问给定包存放在它的ContentProvider中的数据。如果一些ContentProvider的URI不需要读权限,那就可以通过drozer工具提取其中的数据。在某些情况下,设置和执行读写权限不当,也会将ContentProvider中的数据暴露给攻击者。除了提取数据,对于写权限管理不当的ContentProvider还可以向其中写入数据,使得攻击者可以将恶意数据插入到数据库中。
(2)ContentProvider中的SQL注入漏洞和Web漏洞类似,安卓APP也要使用数据库,那就也有可能存在SQL注入漏洞。主要有两类,类是SQL语句中的查询条件子语句是可注入的,第二类是投影操作子句是可注入的。使用drozer可以很容易的找出查询条件子句可注入的contentprovider。dzrunapp.provider.query[URI]–selection“1=1”也可以使用其他恒为真的值,例如“1-1=0”,“0=0”等等。如果APP存在SQL注入漏洞,那么输入这行指令后就会返回数据库中的整张表。
(3)Provider文件目录遍历漏洞当Provider被导出且覆写了openFile方法时,没有对ContentQueryUri进行有效判断或过滤。攻击者可以利用openFile()接口进行文件目录遍历以达到访问任意可读文件的目的。
提供权威的第三方检测报告,如:软件产品登记测试报告(增值税退税)、确认测试报告(科技项目验收、成果鉴定)、信息安全测评服务(Web应用安全检测、源代码安全漏洞扫描、APP检测)等
本文来自“月熙儿”用户投稿,该文观点仅代表作者本人,不代表华夏信息网立场,本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容,请发送邮件至1470280261#qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。如若转载,请注明出处:http://www.xxxwhg.com/zh/104527.html