移动应用中的 CSRF

2024-01-05

情况:

Alice 使用一个在线银行网站,该网站存储了她的凭据 cookie。

在 cookie 过期之前,Eve 向 Alice 发送了一个恶意 URL,该 URL 随后导致 Alice 从她的银行帐户中提取资金并将其发送给 Eve。

这是 Web 应用程序的常见 CSRF 示例,但在移动应用程序内部执行此操作的可行性如何?


如果 Alice 在她的手机上使用存储 cookie 的银行应用程序,然后访问 Eve 的一个具有类似结果的网站,该怎么办?

来自本机(或混合)应用程序的 Alice 移动设备上的 cookie 是否容易受到操纵,或者这些 cookie 通常是否以某种方式存放在设备上的沙箱中?

我假设 iOS、Android 等设备上的 cookie 与普通浏览器的工作方式相同,但实际上是这样吗?

EDIT:

这个问题最初是针对所有移动设备的通用问题。我相信,即使是在 JavaScript 中创建 cookie,然后使用 PhoneGap 或 Titanium 之类的东西也可能是相关的。在阅读了更多内容后,我也很好奇使用这些其他技术之一编译 JavaScript 是否会影响本机设备的 cookie 及其存储方式。

使用 cookie 的主要目的是维护用户的凭据,这样他们就不必每次都使用其银行帐户注销并重新登录。在阅读了有关此问题的更多信息后,似乎每个特定设备都有不同的场景,并且实际上可以对应用程序进行 CSRF。举个例子,共享偏好设置 https://stackoverflow.com/questions/785973/what-is-the-most-appropriate-way-to-store-user-settings-in-android-applicationAndroid 中的值是沙盒的,以防止其他应用程序访问这些值。


来自本机(或混合)应用程序的 Alice 移动设备上的 cookie 是否容易受到操纵,或者这些 cookie 通常是否以某种方式存放在设备上的沙箱中?

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

一般来说,单独的应用程序是单独的。 Safari 不会与 Firefox 共享数据,即使两者都安装在同一台 OS X 计算机上。现在,其中一个或另一个可能存在错误,这些错误可能允许 JS 不受限制地访问操作系统文件系统,从而允许 Safari 中的网站访问 Firefox 的数据(反之亦然),但这与 CSRF 并不真正相关。

同样的事情也适用于任何现代操作系统上的任何单独的应用程序。

我相信,即使是在 JavaScript 中创建 cookie,然后使用 PhoneGap 或 Titanium 之类的东西也可能是相关的。

事实并非如此,就像 Safari 拥有 cookie 和 Firefox 拥有 cookie 之间存在某种联系一样。

实际上可以对应用程序进行 CSRF

欢迎您提供您的主张的证据,或者提供您对 CSRF 的个人定义,其中包括 Safari 攻击 Firefox 等场景。

例如,Android 中的共享首选项被沙盒化,以防止其他应用程序访问这些值。

正确的。这个和CSRF关系不大。

就 Android 而言,创建和存储 cookie 的方式似乎在攻击中确实很重要,而且它可能存在漏洞。

同样,我们欢迎您提供您的主张的证据,或者提供您对 CSRF 的个人定义,其中包括 Safari 攻击 Firefox 等场景。

尽管对设备的物理访问会导致安全问题

远程传送技术尚待开发,该技术允许 CSRF 导致移动设备物理改变其位置,从而对物理访问产生影响。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

移动应用中的 CSRF 的相关文章

  • Android 模拟器插件无法初始化后端 EGL 显示

    我在 Cloudbees 上设置了 Jenkins 作业 并且可以在那里成功签出并编译我的 Android 项目 现在我想在 android 模拟器中运行一些 JUnit 测试并添加 Android 模拟器插件 我将 显示模拟器窗口 选项设
  • Android 中 Kotlin 协程的正确使用方式

    我正在尝试使用异步更新适配器内的列表 我可以看到有太多的样板 这是使用 Kotlin 协程的正确方法吗 这个可以进一步优化吗 fun loadListOfMediaInAsync async CommonPool try Long runn
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 原色(有时)变得透明

    我正在使用最新的 SDK 版本 API 21 和支持库 21 0 2 进行开发 并且在尝试实施新的材料设计指南时遇到了麻烦 材料设计说我需要有我的primary color and my accent color并将它们应用到我的应用程序上
  • 获取当前 android.intent.category.LAUNCHER 活动的实例

    我创建了一个库项目 并在多个应用程序之间共享 我实现了一个简单的会话过期功能 该功能将在一段时间后将用户踢回到登录屏幕 登录屏幕活动是我的主要活动 因此在清单中它看起来像这样
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 如何默认在 ActionOpenDocument 意图中显示“内部存储”选项

    我需要用户选择一个自定义文件类型的文件 并将其从 Windows 文件资源管理器拖到 Android 设备上 但默认情况下内部存储选项不可用 当我使用以下命令启动意图时 var libraryIntent new Intent Intent
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • iOS:Facebook 登录访问令牌错误:由于模拟器错误,回退到从 NSUserDefaults 加载访问令牌

    根据说明进行配置后 我不断收到此错误 并且无法在我的应用程序上成功使用 Facebook 登录 我在 XCode 8 1 上运行它并使用 iOS 10 1 模拟器 我按照 Facebook iOS SDK 指南中的步骤操作 并将 Faceb
  • Android访问远程SQL数据库

    我可以直接从 Android 程序访问远程 SQL 数据库 在网络服务器上 吗 即简单地打开包含所有必需参数的连接 然后执行 SQL 查询 这是一个私人程序 不对公众开放 仅在指定的手机上可用 因此我不担心第三方获得数据库访问权限 如果是这
  • Android Studio - Windows 7 上的 Android SDK 问题

    我对 Google i o 2013 上发布的最新开发工具 Android Studio 有疑问 我已经成功安装了该程序并且能够正常启动 我可以导入现有项目并对其进行编辑 但是 当我尝试单击 SDK 管理器图标或 AVD 管理器图标时 或者
  • 所有 RestKit 项目在归档时都无法构建

    这个问题涉及RESTKIT 0 9 x 如果您是 Restkit 新手 请考虑使用较新的版本0 10 x https github com RestKit RestKit tree v0 10 1 branch 我最近继承了一个项目 使用r
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • Android:膨胀布局时出现 StackOverFlowError 和 InvokingTargetException

    首先 对不起我的英语 我在膨胀布局时有一个问题 我有一个自定义视图 从 LinearLayout 扩展而来 称为按钮帮助 我在名为的布局上使用该视图加载活动 我的以下代码在所有设备和模拟器上都能完美运行 但具有 QVGA 屏幕 例如 Sam
  • 将两个文本视图并排放置在布局中

    我有两个文本视图 需要在布局中并排放置 并且必须遵守两条规则 Textview2 始终需要完整显示 如果布局中没有足够的空间 则必须裁剪 Textview1 例子 文本视图1 文本视图2 Teeeeeeeeeeeeeeeeeextview1
  • 如何在 UITableView 的 switch 语句中创建变量?

    我正在构建一个包含三个部分的 tableView 我已经完成了前两个工作 但最后一个有点阻力 我的问题似乎涉及尝试在 switch 语句中声明变量 实际上是嵌套的 switch 语句 据我所知 这不是一个好主意 但在这种情况下 这似乎是唯一

随机推荐