问题标签 [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 投票
2 回答
3437 浏览

django - 在什么情况下 CSRF-exempt 是危险的?

这个问题更像是一种再保险,而不是直接关于如何编码的问题。作为一个自学者,我没有太多机会向专业人士询问此类问题,所以我在这里尝试。

我已经阅读了 django-docs ( https://docs.djangoproject.com/en/1.3/ref/contrib/csrf/ ) 中的文档以及该页面上的一些信息:http: //cwe.mitre.org/top25 /#CWE-352

据我了解,django 向用户提供了一个令牌(某种密码)。为了验证它真的是他,他必须在下次他提出请求时归还它。Google 的一些人发现这甚至可以通过 ajax-requests 实现,这就是为什么我们从 1.2.6 开始也制定了保护它们的新政策。CSRF 是关于有人冒充别人给我一些东西(坏的、危险的代码、损坏的文件或类似的东西)。

所以如果我有这样的代码:

应该保存,因为在尝试将给定值转换为整数之前,我没有授予对数据库或应用程序任何部分的访问权限。如果我对某人下载文件做了错误的记录(在这种情况下几乎没有),也不会造成太大的损害。假设我会根据这种观点编写法案,那么 CSRF 豁免将是一个坏主意(对吗?)。

我也不明白为什么有人不能从用户那里窃取 CSRF 令牌并用它来欺骗我(或用户)。所以我对这个话题有一些疑问:

1)我的假设是否正确?

2) 有人可以告诉我,一些不太好的人可以使用上面的视图来做肮脏的把戏(以及可能如何),他们会是什么?

3) CSRF 是中间人攻击的一个例子,它只是与之相关,还是完全不同?

4)任何有价值的链接可以进一步阅读这些危险?

也许其中一些问题听起来不太了解,但我正在努力克服这一点。如果有人可以帮助我,我会很高兴。

0 投票
1 回答
119 浏览

php - 如果内容是私有的,如何防止伪造http请求?(基本上只允许来自我的界面的请求,而不是浏览器)

很抱歉再次问这个问题,但 ppl 似乎只将 csrf 与表单提交或表单复制连接起来(idk 为什么)。

我的想法是保护数据免受外部请求。为每个请求设置一个令牌,并在用户登录后开始令牌化,因此任何攻击者都不能只加载前一个页面,获取令牌并将其发送给下一个请求。从一开始就标记每个请求是否是一个好主意,这样私人用户的内容就不会被盗?我认为这是对不受保护的社交网站的强大攻击。任何攻击者从另一个流行网站窃取用户数据。

0 投票
1 回答
1094 浏览

ajax - ajax的codeigniter csrf保护错误

我这里有一个小问题我无法解决,这篇文章通过但响应返回“500 内部服务器错误”</p>

谁来修复它?

在 CI 论坛中搜索后,我发现了这个链接codeigniter-csrf-protection-with-ajax但我无法解决它。任何人都可以帮助我吗?

0 投票
0 回答
671 浏览

php - Generate CSRF token for Non-Symfony forms hosted on another site

OK, so what I'm trying to do may seem like a cross-site attack - defeating the very purpose of CSRF tokens, but here is the need: I have a Symfony app site (app.timo.in) and the plain-PHP homepage web-app (www.timo.in). I wish to allow registered visitors to login from the homepage.

INFO: The app & homepage are on the same domain (timo.in)

A possible option is to generate some other token based on a sharedSecret that both sides can understand. I do not want that the token to expire too soon. One advantage I have is that the login form opens in a modal, so a fresh token can be generated each time, with a short validity. What other parameters do I need to make it secure? If I include session ID, will both sites understand it?

ALERT: I need some sort of CSRF protection, so do not suggest disabling it on the Symfony App's Login page :)

0 投票
4 回答
8751 浏览

php - 提交表单时出现codeigniter csrf错误

我有一个使用 codeigniter 括号的表格

当我提交它时,我收到以下错误

不是 always,但经常...

即使隐藏的输入字段存在于表单中:

这也发生在类似的表单上(登录)

编辑:通过表单生成的 html

0 投票
2 回答
1338 浏览

ruby-on-rails - Rails 和 ajax 请求:不使用 csrf 工作?

我正在使用以下代码向 rails 发出 AJAX POST 请求:

我忘了插入 csrf 令牌,所以我认为创建操作会失败:

但是数据库中的记录已经创建,而请求以 500 错误结束:

我没有禁用 csrf 保护,所以它应该给出一个关于令牌丢失的错误,但它没有......

编辑:

在阅读了两个答案后,我有:

  • 删除了 jquery_ui 文件

添加此代码以替换 csrf 令牌的 jquery_ui 函数,并设置 auth_token 以进行设计:

删除了 before_file authenticate_user!来自控制器,并将与 current_user 相关的创建操作替换为不同的操作:

然后我禁用了 CSRF 保护,但我仍然遇到同样的错误......所以问题是另一个问题,但我真的不明白什么会导致双重重定向,因为记录是在数据库中正确创建的......

0 投票
1 回答
896 浏览

codeigniter - 带有 jqGrid 的 Codeigniter:使用 csrf_token

如果在配置文件中我设置csrf_tokenfalse并且一切正常。但是什么时候csrf_tokentrue我的网格只能从数据库中获取数据,而不能更新或其他任何东西。

我正在浏览这个网站上关于 Сodeigniter+jqGrid 的帖子,但仍然不明白我该怎么做。

我可以获得的价值,csrf_token但它应该包含在哪里?

0 投票
4 回答
3923 浏览

forms - Symfony2.1:CSRF 令牌无效。仅在浏览器中,PHPUnit WebTestCase 可以正常工作

如何调试为什么在我的所有浏览器中出现CSRF 令牌无效错误,但是当我使用功能测试测试相同的表单时它可以工作?

0 投票
2 回答
123 浏览

csrf - 跨站请求伪造与登录的关系

我想知道登录和跨站点请求伪造之间是否有任何关系?我的问题是,是否有不需要登录但仍需要保护 CSRF 的网站?能给我举个例子吗

0 投票
2 回答
10169 浏览

node.js - csrf 令牌使用

我对使用生成 csrf 令牌来保护我的 Web 应用程序感兴趣。我的问题是我需要如何将该令牌发送回服务器:使用查询参数或 http 标头 x-csrf-token ?

有什么区别