一、CSRF -跨站伪造请求
①、CSRF攻击原理
1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
5. 浏览器在接收到这些攻击性代码后,根据网站 B 的请求,在用户不知情的情况下携带 Cookie 信息,向网站 A 发出请求。网站 A 并不知道该请求其实是由 B 发起的,所以会根据用户 C 的 Cookie 信息以 C 的权限处理该请求,导致来自网站 B 的恶意代码被执行。
②、CSRF防御
利用token:Token简单来说就是由后端生成的一个唯一的登陆态,并传给前端保存在前端,每次前端请求时都会携带着Token,后端会先去解析这个Token,看看是不是后台给我们的,已经是否登陆超时,如果校验通过了,才会同意接口请求
二、XSS-跨站脚本攻击
①、什么是XSS攻击?
XSS攻击全称跨站脚本攻击,一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码(javascript、css、html)植入页面中,这样当别人访问到该页面时也执行了嵌入的代码进行一些操作。
②防止XSS攻击
vue或react可安装XSS插件预防
三、SQL注入
①、什么是SQL注入攻击?
SQL 注入攻击是对WEB服务器进行攻击,通过往服务器传一些参数或者数据,而如果服务器是通过传过来的数据来拼接 SQL 语句的话,就有可能会执行攻击者发送给服务器的 SQL 语句,由此达到攻击的目的。简单的说就是在 post/get 表单、输入域名或页面请求的查询字符串中插入 SQL 命令,最终使web服务器执行恶意 SQL 命令的过程。
②、如何防止SQL注入
1、限制数据库权限和特权。将数据库用户的功能设置为最低要求,这将限制攻击者可以执行的操作;
2、加强对用户输入的验证