今日要闻

安卓应用程序渗透测试(六)

2018-10-02 08:28 来源:laishu.com 作者:Laishu
导读: 前面啰嗦了这么多,讲了很多基础知识,现在,就让我们开始渗透的乐趣吧。根据Owasp,漏洞共分为十大类。M1—平台使用不当M2—不安全的数据存储M3—不安全的通信M...

前面啰嗦了这么多,讲了很多基础知识,现在,就让我们开始渗透的乐趣吧。

根据Owasp,漏洞共分为十大类。

M1—平台使用不当

M2—不安全的数据存储

M3—不安全的通信

M4—不安全的身份验证

M5—不安全的密码

M6—不安全的授权

M7—客户端代码质量问题

M8—代码篡改

M9—逆向工程

M10—附加功能

漏洞应用程序实战合集:

https://pentestlab.blog/2016/11/07/list-of-vulnerable-android-applications/

本文中,我们将使用不安全的银行App来演示漏洞。

信息收集

我们可以使用Drozer来收集安卓APP的信息。

命令 – run app.package.info –a

详细信息:UID,GID,用户许可权,数据目录,Apk路径,共享库,共享用户,版本和应用名称。

攻击安卓组件

我已经在安卓应用程序渗透测试(五)中介绍了所有的安卓组件,Activities(活动),Services(服务),Content Provider(内容提供商)和Broadcast Receiver(广播接收器)。现在我们就来找找它们的漏洞以及它们在应用程序是如何容易被攻击的。

攻击Activities

exported activities(导出活动)

导出活动(exported=true)是在同一台设备上可以被其他App访问的那些活动。绝大多数是在安卓上进行身份验证后。

用户都知道,当进行认证之后,应用程序会切换到另一个活动,例如,音乐播放器登陆后的播放列表。但是,开发者保留了这些导出活动,甚至没有进行自定义许可权。

在安卓manifest文件中,活动可以通过导出值或者使用drozer命令来获取。

获取导出活动的相关信息:

命令– run App.activity.info –a

manifest文件

Drozer:

由于许可权未定义或登录后的活动的导出值为true,我们可以使用它来绕过身份验证。

我们尝试使用Drozer在没有凭证的情况下来调用登陆后的活动。

比如:Dotransfer(转账),Viewstatement(查看状态),Changepassword(修改密码)。

drozer命令 --run app.activity.start –component

run app.activity.start –component com.android.insecurebankv2 com.android.insecurebankv2.DoTransfer

之前:

之后:

使用恶意App调用其他应用程序的活动

调用其他应用程序活动的另一种方法是编写恶意应用程序并为它提供你想要启动的安装包的名字和活动。在我们的案例中,恶意应用程序不需要任何许可权来启动存在漏洞应用程序的“登录后”活动。

保护活动组件

设置Android:exported属性值为false。

在我们的应用程序的AndroidManifest.XML文件中,我们应该将以下属性添加到要保护的应用程序组件中。在我们的案例中,应该保护登录后的活动不被任意调用。

True:provider可供其他应用程序使用。任何应用程序都可以使用provider的内容URI来访问它,具体取决于为provider指定的许可权。

False:provider不可用于其他应用程序。设置android:exported =“false”以限制对应用程序provider的访问。只有与provider具有相同用户ID(UID)的应用程序才能访问它。

上面的代码严格限制了除了当前App之外的其他App或任何系统组件来访问这个activities。只有与当前App具有相同用户ID(uid)的App才能访问这个活动。

自定义许可权来限制访问

android:exported属性值并不是限制activities暴露给其他App的唯一方法。我们还可以通过为activities设置自定义许可权来强制实施基于许可权的限制。如果开发人员想要对他的App组件设置许可权,只允许那些具有许可权的App才能访问,这种自定义许可权的方法是非常奏效的。

敬请期待安卓应用程序渗透测试七

其他部分的文章如下:

安卓应用程序渗透测试(一)

安卓应用程序渗透测试(二)

安卓应用程序渗透测试(三)

安卓应用程序渗透测试(四)

安卓应用程序渗透测试(五)





声明: 凡注明为其他媒体来源的信息,均为转载自其他媒体,转载并不代表本网赞同其观点,也不代表本网对其真实性负责。如系原创文章,转载请注明出处; 您若对该稿件内容有任何疑问或质疑,请即联系,本网将迅速给您回应并做处理。邮箱:mail@laishu.com

为您推荐

今日要闻

潮鞋品牌

风水知识

健康知识

母婴知识

膳食指南

星座解读

命理运势

养生保健

美食资讯

热点资讯

体育新闻

综合资讯