前端安全XSS攻击 | 青训营笔记

104 阅读2分钟

这是我参与「第四届青训营」笔记创作活动的的第5天

前端的安全问题

在互联网日益发达的今天,越来越多的互联网产品诞生,在这同时,越来越多的安全问题也显现出来。互联网的安全问题带来了很大的危害,会危害用户,用户的信息会被盗用;公司的信息被盗用造成公司的财产损失;因为安全问题被攻击,程序员的工作量也会增加。

XSS攻击

概念

跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击。XSS主要是因为盲目信任用户提交的内容,在用户提交攻击脚本的时候产生负面影响。

存储型XSS

这种攻击是攻击者提交恶意脚本后,恶意脚本被存储在数据库中。当用户访问页面的时候,从数据库读取数据,展现数据。 这种攻击危害最大,对全部用户都可见。

image.png

反射型XSS

这种攻击不涉及数据库,是从URL上攻击的。

image.png

DOM型XSS

这种XSS攻击不需要服务器的参与,而已攻击的发起和执行全部都在浏览器完成。我们在URL中传入参数的值,然后客户端页面通过js脚本利用DOM的方法获得URL中参数的值,再通过DOM方法渲染。

document.referer

window.name

location

innerHTML

documen.write

这些方法可能触发DOM型XSS属性

XSS防御

  1. 永远不信任用户提交的内容
  2. 不可将用户提交的内容直接转换成DOM