Skip to content

Latest commit

 

History

History
64 lines (37 loc) · 1.92 KB

常见攻击手段及规避.md

File metadata and controls

64 lines (37 loc) · 1.92 KB

前端常见攻击手段

XSS

Cross Site Script 跨站脚本攻击

手段:黑客将 JS代码插入到网页内容中,渲染时执行 JS 代码。例如黑客可以得到用户cookie通过<img>规避跨域将cookie通过拼接到src发送出去

预防:特殊字符替换, 例如替换<,>使其无法执行

Vue/React 中默认屏蔽了XSS 攻击,但如果在 Vue中使用v-html,或在 React 中使用dangerouslySetInnerHTML,插入script标签脚本,可能会被 XSS 攻击

CSRF

Cross Site Request Forgery 跨站点请求伪造

手段:

过程:

  1. 用户访问A产生了cookie
  2. 黑客诱导用户访问另外一个网站B
  3. 背后在网站B携带用户cookie发起对A网站的请求,伪造请求通过服务器验证
  4. A网站接口根据cookie以为是用户自己的操作行为

预防:

  1. 服务端进行严格的跨域限制,判断refer来源
  2. 为cookie 设置SameSite,禁止跨域传递cookie
  3. 验证码限制,二次验证

点击劫持 Click Jacking

手段:诱导界面上加一层透明的ifram,诱导用户点击

预防:

  1. 判断页面的域名是否一致
if(top.location.hostname !== self.location.hostname){
    alert('正在访问不安全的网站!即将跳转到安全网站')
    top.location.hostname = self.location.hostname
}
  1. 让iframe不能跨域

Headers头中设置X-Frame-Options: sameorigin,只允许网页在自己的iframe中加载,第三方不能通过iframe对网页进行加载

DDOS

Distribute denial-of-service 分布式拒绝服务

手段:分布式的,大规模的流量访问,使服务器瘫痪。通过散步木马程序到其他人的电脑上,控制他人电脑同时间对同一目标进行集中访问

预防:需要硬件预防,网站防火墙

SQL注入

手段:黑客提交内容时,通过提交 SQL 语句破坏数据库

预防:处理输入的内容,替换特殊字符