XSS(Cross-Site Scripting)脚本攻击漏洞;
解决方法:
输入过滤,对输入的数据进行严格校验,诸如< script >、< img >、< a >等标签进行过滤
编码,一些常见的符号,如<>在输入的时候要对其进行转换编码,这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果
限制。xss攻击要能达成往往需要较长的字符串,因此对于一些可以预期的输入可以通过限制长度强制截断来进行防御
HttpOnly Cookie,预防XSS攻击窃取用户cookie最有效的防御手段,在cookie中设置了HttpOnly属性
CSP,原理其实就是白名单机制,开发者明确告诉客户端(浏览器)哪些资源可以加载并执行,我们只需要提供配置,其他的工作由客户端(浏览器)来完成。通过 < meta> 标签开启 < meta http-equiv=“Content-Security-Policy” content=“配置项” >
CSRF(Cross-sit request forgery)漏洞;跨站请求伪造
防止csrf常用方案如下:
阻止不明外域的访问
同源检测
Samesite Cookie
提交时要求附加本域才能获取的信息
CSRF Token
双重Cookie验证
token这种形式,流程如下:
用户打开页面的时候,服务器需要给这个用户生成一个Token
对于GET请求,Token将附在请求地址之后。对于 POST 请求来说,要在 form 的最后加上
当用户从客户端得到了Token,再次提交给服务器的时候,服务器需要判断Token的有效性
文件上传漏洞
解决方法:
检查文件类型及后缀
定义上传文件类型白名单,即只允许白名单里面类型的文件上传
文件上传目录禁止执行脚本解析,避免攻击者进行二次攻击