跳转到主要内容

跨站脚本攻击

本文约需 2 分钟阅读

跨站脚本攻击 (XSS: Cross-Site Scripting) 是指向 Web 页面注入恶意脚本的攻击手法。攻击者植入的 JavaScript 在受害者的浏览器中执行,从而进行 Cookie 窃取、会话劫持、重定向到钓鱼页面等行为。在 2024 年的 OWASP Top 10 中,它作为注入攻击的一种位居前列,是 Web 应用程序漏洞中最常见的一类。

现场使用案例

“联系表单的输入值未经过滤,发现了存储型 XSS。在管理后台显示咨询内容时脚本被执行,管理员的会话 Cookie 处于被发送到外部的状态。”

XSS 攻击的流程

注入恶意脚本
受害者浏览页面
在浏览器中执行脚本
Cookie / 会话窃取

XSS 的种类

反射型 XSS 是包含在 URL 参数中的脚本被原样反映到页面的类型。存储型 XSS 是保存在数据库中的脚本被显示给其他用户的类型,留言板和社交媒体的评论区容易成为目标,会造成更严重的危害。 DOM 型 XSS 是源于客户端 JavaScript 处理的类型,由于不经过服务器而难以检测。XSS 与 Web 安全相关书籍 (Amazon)可以深入学习。

具体的危害场景

常见的误解是“XSS 只是改变外观的轻微攻击”。实际上,可以利用存储型 XSS 在电商网站的商品评论区嵌入恶意脚本,窃取所有查看该评论用户的会话 Cookie,从而发动严重的攻击。利用窃取的 Cookie,攻击者可以用受害者的账户购买商品或更改注册信息。此外,还发现了将其与钓鱼相结合、在正规网站上显示伪造登录表单的手法。

作为用户的对策

基本做法是保持浏览器为最新版本,不点击可疑链接。为每项服务使用各自独立的随机密码,即使因 XSS 攻击导致会话被劫持,也能防止危害扩大到其他服务。用浏览器扩展程序限制 JavaScript 的执行也是有效的对策。浏览器安全相关书籍 (Amazon)也可作为参考。

相关术语

这篇文章对您有帮助吗?

XHatena