Activity组件漏洞 手机app组件是什么意思


Activity组件漏洞 手机app组件是什么意思

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还可以向其中写入数据,使得攻击者可以将恶意数据插入到数据库中 。
【Activity组件漏洞 手机app组件是什么意思】(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检测)等

    推荐阅读