加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 服务器 > 安全 > 正文

Web安全之CSRF及防护方式

发布时间:2023-09-18 10:30:41 所属栏目:安全 来源:
导读:什么叫做CSRF?CSRF(Cross-site request forgery)简称:跨站请求伪造,跟XSS攻击一样,存在巨大的危害性。在CSRF的攻击场景中,攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一

什么叫做CSRF?

CSRF(Cross-site request forgery)简称:跨站请求伪造,跟XSS攻击一样,存在巨大的危害性。在CSRF的攻击场景中,攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了,所以CSRF攻击也称为one-click attack。

与XSS相比,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。

HTTP是无状态协议,服务器只能根据当前请求的参数(包括Head和Body的数据)来判断本次请求需要达到的目的(Get或者Post都一样),服务器并不知道这个请求之前干了什么事,这就是无状态协议。

如何让每次HTTP请求都带上登录态信息,所以就出现了Cookie。登录状态Cookie是浏览器默认自动携带的,我们在浏览器上发送HTTP请求的时候,浏览器会把该域名下的Cookie带上,一并发送到服务器。那么问题就来了,浏览器不管当前发送请求的是哪个网站,在哪个页面上发送的请求,只要你发送请求的域名在服务器的浏览器里没有选择的保存或者有Cookie之类的信息,服务器的浏览器都会一并带上。

CSRF攻击过程:

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

(2) 在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;

(3) 网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。这种情况下,如果a不知道b的cookie信息,那么就不会触发恶意代码,但是如果a不知道b的cookie信息,那么就会触发恶意代码。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章