[LAB] 攻击模拟 / XSS 跨站脚本攻击

XSS 跨站脚本攻击模拟

XSS(Cross-Site Scripting)通过在页面中注入恶意脚本,当其他用户访问时执行。 下面模拟一个存在漏洞的留言板场景,亲手体验注入过程。

! 漏洞演示 - 留言板输入

场景模拟:某网站留言板直接将用户输入渲染到页面(未做任何过滤)。 输入你的 Payload,点击「发起攻击」观察结果。

快速 Payload:
VIEW 渲染结果预览
输入 Payload 后点击上方按钮,渲染结果将显示在这里…
LOG Payload 日志(攻击记录)
等待攻击记录…
DOC XSS 原理与防御

[!] XSS 攻击原理

  • 攻击者:在表单/URL参数中注入恶意 JS 代码
  • 服务器:未过滤,直接将输入存入数据库并返回给其他用户
  • 受害者:访问页面时,恶意代码在其浏览器中执行
危险后果:
• 窃取 Cookie / 会话令牌
• 劫持用户账号
• 植入钓鱼页面
• 键盘记录

[DEFENSE] 防御方法

  • htmlspecialchars():输出时转义 < > 等字符
  • Content Security Policy:通过 HTTP 头限制可执行脚本来源
  • HttpOnly Cookie:禁止 JavaScript 读取 Cookie
  • 输入验证:白名单过滤,移除危险标签
PHP 安全输出:
<?php echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8'); ?>
→ 继续:SQL 注入模拟 ↑ 攻击模拟主页