美文网首页
【前端安全】XSS和CSRF攻击解析

【前端安全】XSS和CSRF攻击解析

作者: oo高学吟 | 来源:发表于2019-11-24 21:50 被阅读0次

    XSS: Cross Site Script(跨站脚本攻击)

    • 概念: XSS攻击通过对网页注入可执行代码且成功地被浏览器执行,达到攻击的目的

    • 分类:

      XSS类型 存储性 反射型 DOM型
      触发过程 黑客构造XSS脚本、用户访问携带XSS的页面 用户访问携带XSS的URL 用户访问携带XSS的URL
      数据存储 数据库 URL URL
      输出源头 后端web应用程序 后端web应用程序 前端js
      输出位置 HTTP响应中 HTTP响应中 动态构造DOM节点
      • XSS反射型攻击:
        恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击的。
      • 存储型攻击: 恶意代码被保存到目标网站的服务器中,比较常见场景是在博客,论坛等社交网站上,比如:某CRM系统的客户投诉功能上存在XSS存储型漏洞,黑客提交了恶意攻击代码,当系统管理员查看投诉信息时恶意代码执行,窃取了客户的资料,然而管理员毫不知情,这就是典型的XSS存储型攻击。
    • 解决方法:

      • 在表单提交或者url参数传递前,对需要的参数进行过滤
      • 检查用户输入的内容中是否有非法内容

    CSRF:Cross-site request forgery (跨站请求伪造)

    • CSRF攻击攻击原理及过程如下:
      • 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
      • 在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;
      • 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;
      • 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;
    • 防御CSRF攻击:
      1. 验证HTTP Referer字段: Referer记录了该 HTTP 请求的来源地址
      2. 在请求地址中添加token并验证: 在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求

    相关文章

      网友评论

          本文标题:【前端安全】XSS和CSRF攻击解析

          本文链接:https://www.haomeiwen.com/subject/pqerwctx.html