前端安全主要有三类:XSS、CSRF、界面操作劫持。
XSS
XSS,全称Cross Site Scripting,即跨站脚本,当浏览器渲染整个HTML文档的过程中出现了不被预期的脚本指令并执行时,XSS就会发生。
XSS有三类,反射性XSS、存储性XSS和DOM XSS。
反射性XSS
XSS代码出现在URL中,作为输入提交到服务器,服务端解析后响应,在响应中出现这段XSS代码,并被浏览器解析执行。
存储性XSS
XSS代码作为输入提交到服务器,并存储在服务器。下次请求在响应中出现这段XSS代码,并被浏览器解析执行。典型的留言板XSS。
DOM XSS
DOM XSS大代码并不需要服务端解析,触发XSS靠的就是浏览器的解析。设想下如果在你的页面有这么一段代码:
|
|
这样就可以通过URL中插入XSS攻击代码,如下:
|
|
CSRF
CSRF,全称Cross Site Request Forgery,即跨站请求伪造。CSRF有两个关键点:跨站点的请求与请求是伪造的。
跨站点请求
字面上理解,请求的来源是其他站点的。A站的删除数据的功能接收到了B站发来的请求。
请求伪造
伪造的定义,可以理解为请求的发出不是用户的意愿。
界面劫持
界面劫持攻讦是一种基于视觉欺骗的Web攻击,通过在网页的可见输入控件上覆盖一个不可见框,使得用户误以为操作控件,实质操作已被不可见框劫持。