这是我参与「第五届青训营」伴学笔记创作活动的第 15 天
Web攻击(WebAttack)是针对用户上网行为或网站服务器等设备进行攻击的行为,如植入恶意代码,修改网站权限,获取网站用户隐私信息等等,Web应用程序的安全性是任何基于Web业务的重要组成部分,确保Web应用程序安全十分重要,即使是代码中很小的 bug 也有可能导致隐私信息被泄露,站点安全就是为保护站点不受未授权的访问、使用、修改和破坏而采取的行为或实践
XSS(Cross Site Scripting)跨站脚本攻击
涉及到三方,攻击者、客户端、web应用 恶意攻击者往 Web 页面里插入恶意可执行网页脚本代码,当用户浏览该页之时,嵌入其中 Web 里面的脚本代码会被执行,从而可以达到攻击者盗取用户信息或其他侵犯用户安全隐私的目的。
存储型:恶意代码在数据库,输入框输入 反射型:在url里(要主动打开url), dom型:去除和执行恶意代码由浏览器完成与服务端无关
窃取用户数据并发送到攻击者的网站,或者冒充用户的行为,调用目标网站接口执行攻击者指定的操作
预防:前端过滤输入的恶劣代码、后端写入数据库前过滤;少用.innerHTML、.outerHTML、document.write()而用 .textContent、.setAttribute()
过滤转义,<转成<s;CSP内容安全策略
一般框架如react和vue都已经做了转译防护xss攻击
CSRF(Cross-site request forgery)跨站请求伪造
攻击者诱导受害者进入攻击者的第三方网站,获得受害者的登录凭证,冒充并在第三方网站向被攻击网站发送跨站请求。
预防:阻止不明外域的访问,同源检测;提交请求要附加本域才能获取的信息,token
SQL注入
把恶意sql查询或添加语句插入到对应参数中,再在后台sql服务器解析执行
预防:严格检查输入变量的类型和格式,过滤和转义特殊字符