首页 > 安全知识 > 常见的开发漏洞介绍 2. 跨站脚本攻击(XSS)漏洞

常见的开发漏洞介绍 2. 跨站脚本攻击(XSS)漏洞

2024-12-23 15:47:10
  1. 跨站脚本攻击XSS)漏洞
    1. 原理
      • XSS攻击分为存储型、反射型和DOM - based型。存储型XSS是指攻击者将恶意脚本存储在目标服务器上,当其他用户访问包含该脚本的页面时就会执行。例如,在一个论坛系统中,攻击者在评论区插入一个<script>alert('恶意脚本');</script>,当其他用户查看评论时,浏览器就会执行这个脚本。反射型XSS是通过诱使用户点击一个包含恶意脚本的链接,服务器将恶意脚本反射回用户浏览器执行。DOM - based XSS是通过修改页面的DOM节点来执行恶意脚本。
    2. 防范措施
      • 对用户输入进行编码和过滤:在将用户输入显示在页面上之前,对输入进行HTML编码,将特殊字符(如<>等)转换为HTML实体。例如,在JavaScript中使用DOMPurify库进行HTML净化:
         
        const DOMPurify = require('dompurify'); const dirty = '<script>alert("恶意脚本");</script>'; const clean = DOMPurify.sanitize(dirty); document.getElementById('output').innerHTML = clean;
         
      • 设置合适的内容安全策略CSP:CSP是一种浏览器安全机制,通过设置Content - Security - Policy头部,规定页面可以加载哪些来源的脚本、样式等资源。例如,Content - Security - Policy: default - src 'self'; script - src 'self' https://trusted - scripts.com;,这样就限制了脚本只能从本域和https://trusted - scripts.com加载。
使用 Ctrl+D 可将网站添加到书签
收藏网站
扫描二维码
关注早实习微信公众号
官方公众号
Top