问题标签 [csrf-protection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
648 浏览

jquery - jquery ui 对话框和 csrf 保护

jquery ui dialog用来显示表格。csrf token不幸的是,这个函数清除了我表单中的隐藏输入。我可以以某种方式强制对话框不清除此字段,还是我必须将此令牌存储在某处并自己设置正确的字段?

0 投票
2 回答
1542 浏览

csrf - CSRF 保护技术

有人可以向我指出有关如何保护应用程序免受 CSRF 影响的信息吗?

任何与此相关的代码。

我在 UI 上使用 extjs,在后端和 tomcat 服务器上使用 Java。

提前致谢。

0 投票
2 回答
10048 浏览

javascript - Tomcat 中的 CSRF 保护

如何防止 Tomcat 中的 CSRF 漏洞?

我正在为我的应用程序使用 Tomcat 服务器,我需要保护我的应用程序免受 CSRF 攻击。有什么技术可以做到这一点吗?

0 投票
2 回答
2614 浏览

php - 保护表单劫持黑客

是的,你好今天我发现了我的网站的一个黑客。

当您在用户墙上(在我的社区站点中)写一条消息时,它会运行一个 ajax 调用,将消息插入数据库,然后在成功时向下滑动并显示它。

工作正常没有问题。

所以我重新思考了一下,我为此使用 POST 方法,如果它是 GET 方法,您可以轻松地执行 ?msg=haxmsg&usr=12345679。但是你能做些什么来绕过 POST 方法呢?

我制作了一个新的 html 文档,制作了一个表单,并在操作时设置了“site.com/insertwall.php”(通常在 ajax 中使用的文件),我制作了一些名称与我正在使用的完全相同的输入字段ajaxcall (msg, uID (userid), BuID (by userid) ) 并做了一个提交按钮。

我知道我有一个 page_protect() 函数,需要你登录,如果你不是,你将成为 index.php 的标题。所以我登录了(在我的 site.com 上开始了会话),然后我按下了这个提交按钮。然后我在我的网站上看到它发出了一条新消息。

我就像哇,劫持 POST 方法这么容易吗?我想它可能更安全一些。

我想知道我能做些什么来防止这种劫持?因为我什至不想知道真正的黑客可以用这个“洞”做什么。page_protect 确保会话来自同一个 http 用户代理等,这可以正常工作(尝试在不登录的情况下运行表单,它只是将我引导到起始页)但是不需要很长时间才能弄清楚登录首先然后运行它。

任何建议都非常感谢。我想让我的 ajax 调用尽可能安全,并且它们都在 POST 方法上运行。我可以对 insertwall.php 做什么,以检查它是否来自服务器或其他东西..

谢谢

0 投票
1 回答
1019 浏览

django - Django 1.2.4 CSRF 验证失败

当我执行 POST 表单时,Django 1.2 一直给我这个 CSRF 验证错误。我“认为”我已经完成了 Django 1.2 文档中要求的所有事情,即,

  1. 确保 MIDDLEWARE_CLASSES 包含在“django.middleware.csrf.CsrfViewMiddleware”中

  2. 确保 {% csrf_token %}

    /li>
  3. 在我的回复中使用 RequestContext

    /li>

请注意,GET 操作在此函数中起作用。所以我认为我正在使用 render_to_response 正确。

我什至尝试加入 @csrf_protect 装饰器,但似乎也没有用。我没有想法,我即将用我的笔记本电脑窒息自己。

大家有什么能想到的吗?

谢谢!

0 投票
6 回答
1423 浏览

php - 防止在 PHP 中从不受信任的来源发生注销操作

我在我的网站上有一个动作:

这将使当前用户退出他/她的会话。由于这是一个简单的 GET 请求,恶意用户可以创建指向此页面的链接,甚至可以将此链接放入图像的src属性中,从而强制用户退出。我仍然希望保持注销链接的简单性而不必走得太远,但同时我希望能够防止上述情况发生。

有任何想法吗?

0 投票
2 回答
9160 浏览

codeigniter - CodeIgniter 的 CSRF 令牌问题

我在 CodeIgniter 中遇到了一个非常奇怪的 CSRF 保护问题。我已经确保我使用 form_open 来启动我的表单,csrf_protection 在配置文件中设置为 true,并且我还确保隐藏的 csrf 名称和值字段与 csrf cookie 匹配,如下所示:http://d .pr/3cfB

发生的情况是,当我提交表单时,我收到“遇到错误。不允许您请求的操作。” 错误,不知道为什么。当我关闭 csrf_protection 时,表单工作正常。

更奇怪的是,我使用 tank_auth 库进行身份验证,它还使用 form_open 作为登录表单。当 csrf_protection 开启时,我确实检查以确保登录表单中有一个隐藏的 csrf 字段,并且我能够提交表单并毫无问题地登录。

关于我可以做些什么来调试这个问题的想法?

0 投票
2 回答
509 浏览

asp.net-mvc - 保护受保护的 JSON Web 服务免受数据收集?

我们有一个 JSON Web 服务,我们的一个网页使用它来显示“实时”数据。要访问该页面,用户必须登录。我们担心恶意网站(竞争对手)获取这些数据的能力。但是,我不确定我们预期的问题是否合理。

一旦用户登录,我们会在他们的机器上存储一个“记住我”cookie。如果有人要建立一个向我们的 Web 服务发出 AJAX 请求并说服登录用户访问该站点的站点,他们是否能够从我们的服务中检索和存储信息?如果是这样,我们如何保护自己免受此类事情的侵害?

例如:

恶意网站是否可以构建这样的脚本来获取我们的数据:

由于他们正在访问我们的 JSON 提要,它不会将 cookie 发送到我们的站点并且用户将通过身份验证。既然他们会被认证,它不会发回敏感数据吗?

0 投票
1 回答
730 浏览

jquery - Rails 会话被重置

我有一个奇怪的问题。我最近检测到通过 AJAX 发布的文本字段出错。经过调查,我发现会话被重置为这个 POST AJAX 请求。我认为一定是csrf问题。我检查了令牌,它像在布局文件中一样被正确传递:

我的 AJAX 请求如下所示:

但是在调试器中,我注意到 csrf 令牌与哈希中已经存在的令牌不同。我无法理解这一切。任何线索可能是这一切的原因?

0 投票
1 回答
2491 浏览

asp.net - ViewStateUserKey 没有阻止 CSRF?

我怀疑这是由于我的测试配置,但我想问问你们的想法。我正在玩一个快速测试项目。我有一个简单的表单认证页面和一个订单页面(两个字段和一个显示“订单”的列表)。订单页面设置为在检索参数时使用 Request.Form[] 以防止输入作为 GET 操作进入。

我在 Page_Init 中设置了 ViewStateUserKey 并明确地将 EnableViewStateMac 设置为 true(即使它默认为 true)。

然后我制作了一个 .HTM,将表单发布到我的订单页面,为两个字段(产品和数量)设置值。我应该注意,我没有费心将视图状态作为表单提交的一部分。我在浏览器的真实页面上查看了源代码,删除了除表单字段之外的所有内容,添加了一些 javascript 来设置字段值并执行 form.submit()

我登录到测试项目,并打开了 .HTM。.HTM 成功提交了表单,当我刷新订单页面时,我可以看到虚假订单。

为什么 ViewStateUserKey 没有对此进行保护?它不应该阻止那种类型的攻击吗?在此示例中,我没有篡改视图状态,我只是创建了一个执行正常表单发布的页面,因此 ViewStateUserKey用于防止 ViewState 篡改(这让我觉得完全没有价值,或者这是否有效,因为两个页面都是活的在同一台物理机器上?