XSRF-TOKEN
用于防止跨站请求伪造(CSRF 或 XSRF)攻击的原理在于,它为每个会话提供了一个唯一的、难以预测的 token。下面是使用
XSRF-TOKEN
来防止 CSRF 攻击的基本工作流程:
-
生成 Token
:当用户登录到系统后,服务器会生成一个与用户会话关联的唯一 token,并将其作为 cookie 发送到客户端。
-
存储 Token
:客户端浏览器将
XSRF-TOKEN
cookie 存储起来,并在之后的每个请求中自动附带这个 cookie。
-
将 Token 加入请求
:在发送到服务器的每个非简单请求(例如 POST 请求)中,客户端应用程序还必须以某种方式(如请求头或表单字段)将该 token 包括进去。这通常由前端应用程序自动完成,例如 JavaScript 代码可以从 cookie 中读取 token 并将其添加到请求头中。
-
服务器验证
:对于每个涉及潜在副作用的请求(例如修改、添加或删除数据的请求),服务器都会检查附带的
XSRF-TOKEN
是否与存储在服务端或客户端 cookie 中的 token 匹配。如果不匹配,请求被认为是非法的,并被拒绝执行。
-
阻止 CSRF 攻击
:由于攻击者无法访问到目标用户的 cookie,因此他们无法获得
XSRF-TOKEN
的值。因此,即使攻击者能够诱使用户的浏览器对目标站点发起请求,由于他们不能在请求中包括有效的 token,所以该请求将被服务器拒绝。
通过这种方式,
XSRF-TOKEN
可以确保只有拥有有效 token 的客户端才能执行敏感操作,从而保护了应用程序免受 CSRF 攻击的侵害。
CSRF
攻击
概述
**
CSRF
(Cross Site Request Forgery)**是
跨站
请求
伪造
。
Cookie 有一个过期时间,在这段时间内,Cookie 是存储在客户端的,当再次访问相同的网站时,浏览器会自动在 HTTP
请求
中自动带上该网站用户登录后的 Cookie
CSRF
攻击
也正是利用这点,借用用户的 Cookie,去执行非用户本意的操作。
举个例子:
小明登录了某网上银行,他来到了网上银行的帖子区,看到一个帖子下面有一个链接写着“科学理财,年盈利率过万”,小壮好奇的点开了这个链接
Token
被用户端放在Cookie中(不设置HttpOnly),同源页面每次发
请求
都在
请求
头或者参数中加入Cookie中读取的
Token
来完成验证。
CSRF
只能通过浏览器自己带上Cookie,不能操作Cookie来获取到
Token
并加到http
请求
的参数中。
作者:匿名用户
链接:https://www.zhihu.com/question/21385375/answer/208281970
来源...
跨站
请求
伪造
(Cross-site request forgery 简称:
CSRF
);是一种冒充受信任用户,向服务器发送非预期
请求
的
攻击
方式(它允许
攻击
者诱使用户执行他们不打算执行的操作;允许
攻击
者部分绕过同源策略,该策略旨在
防止
不同网站相互干扰)【
CSRF
主要利用的是网站对用户网页浏览器的信任】【XSS 利用的是用户对指定网站的信任】。
跨站
请求
伪造
的
攻击
特性是危害性大但非常隐蔽,
攻击
者完全可以在用户毫无察觉的情况下发起
CSRF
攻击
。
文章目录1.
CSRF
是什么?1.1
CSRF
攻击
细节
CSRF
攻击
原理及过程如下:2.
CSRF
漏洞检测3. 防御
CSRF
攻击
:3.1 验证 HTTP Referer 字段3.1.1 优点:3.1.2 缺点:3.2 在
请求
地址中添加
token
并验证3.3 在 HTTP 头中自定义属性并验证
1.
CSRF
是什么?
CSRF
(Cross-site request forgery),也被称为:one click attack/session riding,中文名称:
跨站
请求
伪造
,缩写为:
CSRF
/
XSRF
。
一、
CSRF
是什么?
跨站
请求
伪造
(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为
CSRF
或者
XSRF
, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的
攻击
方法。
二、实际
攻击
场景
下面用一个银行网站的转账功能,说明
攻击
原理。备注:涉及到 URL 等信息都是虚构。
1、登录账号
正常登录了一家银行网站,查看其后台信息后,没有退出登录;
假设这家银行操作转账的 URL
CSRF
攻击
涉及用户受害者,受信任的网站,恶意网站。受害者与受信任的站点和用户拥有一个活跃的会话同时访问恶意网站。恶意网站注入一个HTTP
请求
为受信任的站点到受害者用户会话牺牲其完整性。
CSRF
攻击
总是涉及到三个角色:信赖的网站(Collabtive),受害者的session或cookie,和一个恶意网站。受害者会同时访问恶意网站与受信任的站点会话的时候。
攻击
包括一系列步骤,如下:
这段时间一个项目后端用的是laravel.在写api接口时通过Postman6进行测试.但是在测试post形式的接口时laravel自带了
CSRF
验证机制.这就很尴尬了...
所以我们的目的在使用Postman通過
XSRF
的验证,以測試POST的請求。还是以laravel为例子,Laravel会返回到浏览器的GET
请求
时将
XSRF
-
TOKEN
写在Cookie中.因此我们需要从Cook...
近日在学习laravel,在写登录模块时用ajax-post传递数据,一直报
Token
MismatchException错误,后了解需要在html代码中添加如下代码
//<head>标签中添加如下
<meta name="
csrf
-
token
" content="{{
csrf
_
token
()}}">代码
在发起a...
1、jwt
token
可以作为预防
xsrf
攻击
的手段吗?
可以,不将jwt
token
放到 cookie 中,而是放到
请求
header 中,就可以达到
xsrf
token
的效果来预防
xsrf
攻击
。
button.addEventListener('click', () => {
chrome.runtime.sendMessage({ action: 'open_popup' });
背景脚本:
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.action === 'open_popup') {
chrome.action.openPopup(); // 打开 Popup 页面
Chrome插件怎么弹出提示?
邪恶八进制:
armbian需要编译是因为架构不统一吗
普通网友:
windows如何在命令行中打开文件
Rocksart: