移动应用程序中的CSRF

情况

爱丽丝使用网上银行网站存储她的凭据的cookie。

在cookie过期之前,夏娃向爱丽丝发送一个恶意的URL,随后导致爱丽丝从她的银行帐户中提取钱款并将其发送给夏娃。

这是一个常见的Web应用程序CSRF示例,但在移动应用程序内部执行此操作有多可行?


如果Alice在手机上使用银行应用程序存储cookie,然后从Eve访问类似结果的网站呢?

从本地(或混合)应用程序的爱丽丝的移动设备上的cookie是否容易被操纵,或者这些cookie通常在设备上以某种方式装箱?

我会认为在iOS,Android等cookies工作一样的普通浏览器,但是这实际上是这样吗?

编辑:

这个问题本来是要在所有移动设备上通用的。 甚至像在JavaScript中创build一个cookie,然后使用PhoneGap或Titanium都可能是相关的,我相信。 在阅读更多内容之后,我还好奇,如果使用这些其他技术之一来编译JavaScript,则会影响本机设备的Cookie以及它们如何存储它们。

使用cookie的主要目的是维护用户的凭据,以便他们不必每次都用他们的银行账户注销并重新login。 在阅读了关于这个问题的更多信息之后,似乎每个特定设备都有不同的场景,实际上CSRF可能是一个应用程序。 作为一个例子,Android中的共享首选项是沙箱,以防止其他应用程序访问值。

从本地(或混合)应用程序的爱丽丝的移动设备上的cookie是否容易被操纵,或者这些cookie通常在设备上以某种方式装箱?

CSRF攻击涉及一个应用程序:浏览器。 您提出的攻击涉及两个单独的应用程序:银行应用程序和浏览器。

一般来说,单独的申请是分开的。 Safari不会与Firefox共享数据,即使两者都安装在同一OS X机器上。 现在,可能有一些错误可能允许JS无限制地访问操作系统文件系统,因此允许Safari中的网站访问Firefox的数据(反之亦然),但是这与CSRF 。C

在任何现代操作系统上,任何单独的应用程序都是一样的。

甚至像在JavaScript中创build一个cookie,然后使用PhoneGap或Titanium都可能是相关的,我相信。

不仅仅是具有cookie的Firefox和具有cookie的Firefox有某种程度的联系。

实际上CSRF可能是一个应用程序

欢迎您提供您的声明的证据,或提供您的CSRF的个人定义,包括Safari攻击Firefox的情况。

作为一个例子,Android中的共享首选项是沙箱,以防止其他应用程序访问值。

正确。 这与CSRF没什么关系。

在Android的情况下,似乎您创build和存储Cookie在攻击中确实很重要,并且可能存在漏洞。

同样,欢迎您提供您的声明的证据,或提供您的CSRF的个人定义,包括Safari攻击Firefox的情况。

尽pipe物理访问设备导致安全问题

使用传输技术,这将允许CSRF引起移动设备在物理上改变其位置并因此对物理接入产生影响,但尚未开发。

Web浏览器和应用程序不共享相同的Cookie存储,因此不应该以这种方式进行CSRF攻击。 应用程序也可以使用Web视图,但每个Web视图都有自己的Cookie存储[1],所以两个应用程序之间的CSRF攻击也是不可能的。

从阅读本文[2]看来,它可能会将cookie存储在文件系统上,通过其他应用程序可以将其用作攻击媒介,但不能通过networking浏览器。

[1] http://developer.appcelerator.com/question/123991/cookie-sharing-between-defaultnative-browser-and-webviews-in-an-app

[2] http://developer.android.com/reference/android/webkit/CookieManager.html