- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我已经阅读了 Stack Overflow 上的其他问题,但没有找到这个问题的明确答案:
是什么阻止了攻击者通过 JS 窃取用户的 CSRF token ?他不能直接找到 CSRF 元素并用 JS 获取它的值吗?
我对 JS 不是很熟悉,但可能是这样的:
document.getElementById("csrft_token").value
最佳答案
来自 OWASP(https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF))
Cross-Site Request Forgery (CSRF) is an attack that forces an end user to execute unwanted actions on a web application in which they're currently authenticated. CSRF attacks specifically target state-changing requests, not theft of data, since the attacker has no way to see the response to the forged request. With a little help of social engineering (such as sending a link via email or chat), an attacker may trick the users of a web application into executing actions of the attacker's choosing. If the victim is a normal user, a successful CSRF attack can force the user to perform state changing requests like transferring funds, changing their email address, and so forth. If the victim is an administrative account, CSRF can compromise the entire web application.
根据定义,CSRF 攻击向量与被攻击的服务器不在同一台服务器上,因此它无法访问该信息。
一个基本的例子:
受害者 - 鲍勃
站点 - foo.com
攻击者 - 约翰
John 无法访问 foo.com,但他可以通过网站或电子邮件访问 Bob。他知道 foo.com 的工作原理,因此他可以将请求绑定(bind)到电子邮件或不在 foo.com 域中的恶意网站。这将发送请求并附带 Bob 的凭据。
同源策略阻止 John 查看或拦截 Bob 版本的 foo.com 的任何内容,这就是为什么 CSRF key 可以存储在 Bob 从 foo.com 收到的页面上而 John 永远看不到的原因。
如果 John 能够使用 JS 实际看到 token ,则意味着 John 可以访问来自 foo.com 的请求,在这种情况下,这可能是中间人攻击或内部攻击。
基本上,CSRF key 的目标只是阻止 CSRF 攻击。如果 CSRF key 本身被拦截,则表示发生了另一次攻击。
关于javascript - 窃取 CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39536888/
说我有 some text google 我想给h3附加一个点击事件 $("h3").click(function(){ $(this).slideDown(); return false
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 10年前关闭。 Improve this qu
据说当您使用 ssl 时,您可以防止中间人从服务器窃取信息到客户端,反之亦然。在我的例子中,窃取了 jsonwebtoken。我还从其他答案中了解到,ssl 使用私钥和公钥。私钥存储在服务器上,公钥提
我已经阅读了 Stack Overflow 上的其他问题,但没有找到这个问题的明确答案: 是什么阻止了攻击者通过 JS 窃取用户的 CSRF token ?他不能直接找到 CSRF 元素并用 JS 获
我认为有人在使用 iframe 窃取我的内容。我的网站是一个论坛,一个用户刚刚向我报告了他们。 如果其他人这样做,我如何以编程方式(php、JavaScript、jQuery、HTML)找到他们的网站
我正在使用 SSL 传输所有数据。 HTTP 已完全禁用。除了恶意软件,或者访问某人的物理机器(这两者都很难从服务器端阻止),我不知道攻击者如何窃取登录 cookie。 因此,不用担心窃取登录 coo
有一个 QQuickPaintedItem 带有重载的鼠标事件处理程序: void Plotter::mousePressEvent(QMouseEvent *event) { qDebug(
我正在学习 Caja,我对“this”-stealing 的概念感到困惑: Another security vulnerability that Caja addresses is called “
如果使用客户端流,则回调 URL 包含访问 token 。那么如果回调URL是通过HTTP发送的,是不是很容易被捕获和滥用。 如果我的应用程序的用户 2 获得用户 1 的访问 token ,他就可以访
http://jsfiddle.net/wzew9/ #menu { width: 1001px; height: 34px; padding: 0; margin: 0; b
我实现了 OnTouchEvent(我需要对 Action.MOVE 和 Action.Up 使用react)和 OnClick,但它从未进入 OnClick。 OnTouch 窃取了事件。如何解决这
当 SplashScreen 关闭时(手动或通过 AutoClose),它会在淡出动画期间窃取 MainWindow 的焦点。这会导致主窗口的标题从事件切换到非事件(灰色)再到事件。有什么技巧可以防止
使用其他用户在受信任站点植入的 javascript 函数很容易窃取 session ID cookie。针对这种攻击有哪些可能的反制措施? 在客户端拒绝所有 javascript 脚本可能很困难,因
我有一个网站想要为登录用户提供 YouTube 视频内容(我自己负责以 SSO 方式登录用户)。 因此,我们的想法是视频只能在嵌入到页面中时才能看到(例如以 iFrame 或类似方式)。复制 URL
我在另一个 NSView 中有几个类 MyView(NSView 的子类)的 View 。 MyView 实现 -mouseEntered:, -mouseExited:, -mouseDown:,
我是 flatbuffer 的新手,我想知道是否可以完全(不是 const*)访问 flatbuffers::Vector 中的数据。看看下面的例子,我想窃取 img2::mem::data 的所有权
我有一个带有用户控件的 ASP.Net 页面。页面的提交按钮在用户控件内。页面本身(在用户控件之外)有一个 ImageButton。每当我按回车键提交表单时,它总是执行 ImageButton 单击而
我在Unity中编写了自己的组件,它实现了IBeginDragHandler、IDragHandler和IDropHandler。我想添加一个 UnityEngine.UI 附带的 EventTrig
我最近开始使用 knockout.js 和 sammy.js 来使我的应用现代化。但是我遇到了一些问题。 我在页面上有一些有效链接 - 用户应该实际导航到该位置,而不是使用 sammy.js 模仿导航
我已将 HTML 模板上传到 themeforest,但我发现有些网站免费提供完整的源代码。因为它是 HTML,anycone 可以轻松复制它。如果用户在其他网站(跟踪 IP)上托管我的模板而无需购买
我是一名优秀的程序员,十分优秀!