laravel中的CSRF攻击防护
学习链接#
什么是 csrf#
跨站请求伪造是一种通过伪装授权用户的请求来攻击授信网站的恶意漏洞
如何防护 csrf#
防御 CSRF 攻击:
目前防御 CSRF 攻击主要有三种策略:
验证 HTTP Referer 字段;【验证该 HTTP 请求的来源地址】
在请求地址中添加 token 并验证;
在 HTTP 头中自定义属性并验证。
laravel 中的实现#
- 自带的 csrf_token 的中间件,每次 form 都要传递 一个 csrf_field 字段
- 如果接口使用,可以通过 OAuth2.0 实现,或者 JWT。 这个后面讲。
如何排除指定 URL 不做 CSRF 保护#
中间件:VerifyCsrfToken
把指定的路由加进去即可。
XSS 攻击#
什么是 XSS?#
百度百科的解释: XSS 又叫 CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往 Web 页面里插入恶意 html 代码,当用户浏览该页之时,嵌入其中 Web 里面的 html 代码会被执行,从而达到恶意用户的特殊目的。
它与 SQL 注入攻击类似,SQL 注入攻击中以 SQL 语句作为用户输入,从而达到查询 / 修改 / 删除数据的目的,而在 xss 攻击中,通过插入恶意脚本,实现对用户游览器的控制,获取用户的一些信息。
XSS 攻击的分类#
xss 攻击可以分成两种类型:
1. 非持久型攻击
2. 持久型攻击
非持久型 xss 攻击:顾名思义,非持久型 xss 攻击是一次性的,仅对当次的页面访问产生影响。非持久型 xss 攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的。
持久型 xss 攻击:持久型 xss,会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在。
也可以分成三类:
反射型:经过后端,不经过数据库
存储型:经过后端,经过数据库
DOM:不经过后端,DOM—based XSS 漏洞是基于文档对象模型 Document Objeet Model,DOM) 的一种漏洞,dom - xss 是通过 url 传入参数去控制触发的。
反射型:简介
推荐文章: