全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

跨站请求伪造和跨站请求保护的实现

发布时间:2022-09-07 17:39:59
发布人:syq

  图中 Browse 是浏览器,WebServerA 是受信任网站/被攻击网站 A,WebServerB 是恶意网站/点击网站 B。

20

  (1)一开始用户打开浏览器,访问受信任网站 A,输入用户名和密码登陆请求登陆网站 A。

  (2)网站 A 验证用户信息,用户信息通过验证后,网站 A 产生 Cookie 信息并返回给浏览器。

  (3)用户登陆网站 A 成功后,可以正常请求网站 A。

  (4)用户未退出网站 A 之前,在同一浏览器中,打开一个 TAB 访问网站 B。

  (5)网站 B 看到有人方式后,他会返回一些攻击性代码。

  (6)浏览器在接受到这些攻击性代码后,促使用户不知情的情况下浏览器携带 Cookie(包括 sessionId)信息,请求网站 A。这种请求有可能更新密码,添加用户什么的操作。

  从上面 CSRF 攻击原理可以看出,要完成一次 CSRF 攻击,需要被攻击者完成两个步骤:

  (1) 登陆受信任网站 A,并在本地生成 COOKIE。

  (2) 在不登出 A 的情况下,访问危险网站 B。

  如果不满足以上两个条件中的一个,就不会受到 CSRF 的攻击,以下情况可能会导致 CSRF:

  (1) 登录了一个网站后,打开一个 tab 页面并访问另外的网站。

  (2) 关闭浏览器了后,本地的 Cookie 尚未过期,你上次的会话还没有已经结束。(事实上,关闭浏览器不能结束一个会话,但大多数人都会错误的认为关闭浏览器就等于退出登录/结束会话了……)

  解决办法:就是在表单中添加 from.csrf_token。

相关文章

什么项目适合使用Scrum?

什么项目适合使用Scrum?

2023-10-14
scrum敏捷软件开发是什么?

scrum敏捷软件开发是什么?

2023-10-14
敏捷BI和传统BI有什么区别?

敏捷BI和传统BI有什么区别?

2023-10-14
敏捷开发实行中各岗位职能是什么?

敏捷开发实行中各岗位职能是什么?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取