前言
踏平坎坷成大道,斗罢艰险又出发!
与各位道友们共勉。
XSS攻击是什么?
答:跨站脚本攻击。
XSS攻击的流程?
- 黑客往浏览器注入恶意脚本代码。
- 浏览器向服务器发送正常请求+xss。
- 服务器返回正常页面+xss。
- 浏览器解析xss,发送恶意请求到恶意服务器。
- 恶意服务器自此可以监听数据。
如何避免?
- 过滤用户输入:只包含白名单内的格式。
- HTML转义:转成纯文本,从而防止浏览器解析。
- 在一些框架例如react的项目中,尽量避免使用innerHTML。
- 配置安全头(CSP):设置安全的脚本来源。
- 给发送服务端的cookie标记成HttpOnly。
- 限制使用eval, setTimeout, setInterval这种动态执行JS的函数。