Python-flask跨站请求伪造和跨站请求保护的实现
2024-08-25 07:04:40
图中 Browse 是浏览器,WebServerA 是受信任网站/被攻击网站 A,WebServerB 是恶意网站/点击网站 B。
(1) 一开始用户打开浏览器,访问受信任网站 A,输入用户名和密码登陆请求登陆网站 A。
(2) 网站 A 验证用户信息,用户信息通过验证后,网站 A 产生 Cookie 信息并返回给浏览器。
(3) 用户登陆网站 A 成功后,可以正常请求网站 A。
(4) 用户未退出网站 A 之前,在同一浏览器中,打开一个 TAB 访问网站 B。
(5) 网站 B 看到有人方式后,他会返回一些攻击性代码。
(6) 浏览器在接受到这些攻击性代码后,促使用户不知情的情况下浏览器携带 Cookie(包括
sessionId)信息,请求网站 A。这种请求有可能更新密码,添加用户什么的操作。
解决办法:定义csrf_token函数, 在表单中添加 from.csrf_token, 在客户端的cookie中设置csrf_token
最新文章
- TTTAttributedLabel xib sb lineSpacing not working
- Codeforces Round #371 (Div. 2) C
- debain 8为Iceweasel安装flash播放器
- 《BI项目笔记》基于雪花模型的维度设计
- Ubuntu下修改system.img 解包system.img、打包system.img
- jQuery Jcrop API参数说明(中文版)(转)(图片剪切)
- druid简介
- iOS-获取UIView的全部层级结构
- HBase的基本操作
- hadoop编程小技巧(7)---自己定义输出文件格式以及输出到不同文件夹
- The Native POSIX Thread Library for Linux - 设计文档
- SESSION 与 COOKIE的区别是
- C#的一些小知识
- VC++6.0 add files to project 造成Visual Studio崩溃的解决方法
- BZOJ.1805.[IOI2007]sail船帆(贪心 线段树)
- 与数论的厮守01:素数的测试——Miller Rabin
- 【pyspider】关于匹配html的数据
- [z]分区truncate操作的介绍及对全局索引和空间释放影响的案例解析
- springboot配置hibernate jpa多数据源
- Netty Associated -- ByteBuf