前端之网络攻击

XSS跨站脚本攻击

攻击者向web页面插入可执行脚本代码,用户打开时就会执行并窃取存储在用户cookie中的敏感信息。

存储型XSS

存在提交的表单中。
攻击者将恶意代码通过正常的方式提交存入数据库,下次其他用户访问时就会执行这些代码。

  • 成功的条件:提交、取数据、渲染时没有进行转义
  • 防止:后端存数据时统一进行转义!后端传数据给前端时转义!渲染时转义!

反射型XSS

将恶意脚本代码加到URL地址请求参数里,用户点击恶意链接受到攻击。

  • 成功的条件:用户点击!即时性(不用存储)
  • 防止
    1. 保证渲染的内容和数据来源为服务器
    2. 不要从DOM API(URL, document.referrer, document.forms)中获取数据渲染
    3. 不使用可执行字符串(eval, new Function(), document.write(), window.setInterval/setTimeout, innerHTML, document.createElement())
    4. 对DOM渲染方法传入的字符串参数做escape转义

总结:
1 过滤特殊字符
2 使用HTTP头指定类型

CSRF跨站请求伪造攻击

攻击者盗用身份信息进行模拟请求。
用户A已登录网站B,cookie有效期内,攻击者发送引诱网站C让用户A访问,获取用户的隐私信息,伪装成用户A向网站B发送请求。

预防:

  • 正确使用get/post/cookie
  • 渲染表单时,在表单里隐藏一个随机变化的Synchronizer Tokens(csrf_token),将这个token放在session中,表单提交时放到token里。
  • hash 加密存在cookie中的 csrf_token

SQL注入攻击

向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,从数据库获取敏感信息

预防:

  • 权限限制
  • 特殊字符转义
  • SQL注入检测工具
  • 匹配和限制输入

DDOS分布式拒绝服务攻击

预防:攻击检测和异常流量清洗

posted @ 2020-04-07 13:26  秋秋秋白  阅读(287)  评论(0编辑  收藏  举报