上一篇文章中,我们了解了XSS攻击的内容,在这一篇文章中就准备讲解关于 CSRF攻击 的内容,废话不多说,开搞!

bqb

什么是CSRF攻击

CSRF(cross site request forgery),翻译过来就是 跨站请求伪造,主要是通过 第三方 网站拿到用户的 登录凭证,然后向被攻击的网站发送伪造请求,从而达到攻击的目的

这种攻击方式与XSS攻击最大的不同点在于CSRF攻击是在 第三方网站 上对目标网站实施攻击,而XSS攻击是直接在 目标网站 上实施攻击

CSRF攻击有哪些类型

CSRF攻击的类型主要分为三种

1
2
3
4
5
6
<form action="http://www.test.com" method="POST">
<input type="hidden" name="account" value="xiaoming" />
<input type="hidden" name="amount" value="10000" />
<input type="hidden" name="for" value="hacker" />
</form>
<script> document.forms[0].submit(); </script>

CSRF攻击有哪些特点

通过上文的讲解,可以归纳出如下的特点

如何防范CSRF攻击

我们已经知道了CSRF攻击是如何进行实施的,那么如何防范就可以根据它的特点进行制定,对于CSRF攻击的防护措施主要有如下几种方案

通常情况下,可以设置为Lax来一定程度避免风险,为什么不直接设置Strict呢?因为如果设置为Strict,那么登录过的网站通过超链接重新打开时,因为cookie的不可用,所以会导致用户登录状态的丢失,从而影响用户体验

需要注意的是目前只有chrome和firefox支持该功能,并且不支持子域,也就是说主域下的 samesite-cookie 无法被子域所使用

结语

关于web攻击内容的讲解就全部结束了,当然这也只是冰山一角,还有很多东西没涉及到。做程序员这一行就是需要不断学习,才能跟上技术发展的脚步,所以,加油吧,骚年!