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

Posted liudemeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-flask跨站请求伪造和跨站请求保护的实现相关的知识,希望对你有一定的参考价值。

 

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

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

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

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

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

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

(6) 浏览器在接受到这些攻击性代码后,促使用户不知情的情况下浏览器携带 Cookie(包括

sessionId)信息,请求网站 A。这种请求有可能更新密码,添加用户什么的操作。

 

解决办法:定义csrf_token函数, 在表单中添加 from.csrf_token, 在客户端的cookie中设置csrf_token

 

以上是关于Python-flask跨站请求伪造和跨站请求保护的实现的主要内容,如果未能解决你的问题,请参考以下文章

CSRF跨站请求伪造的安全防护

如何解决跨站点请求伪造

检测到跨站请求伪造 (CSRF) 时应发回啥响应

浅谈跨站请求伪造(CSRF)

安全测试之跨站请求伪造(CSRF)攻击

CSRF攻击原理