[LAB] 攻击模拟 / XSS 跨站脚本攻击
跨站脚本攻击模拟
XSS(Cross-Site Scripting)通过在页面中注入恶意脚本,当其他用户访问时执行。 下面模拟一个存在漏洞的留言板场景,亲手体验注入过程。
漏洞演示 - 留言板输入
场景模拟:某网站留言板直接将用户输入渲染到页面(未做任何过滤)。 输入你的 Payload,点击「发起攻击」观察结果。
快速 Payload:
渲染结果预览
输入 Payload 后点击上方按钮,渲染结果将显示在这里…
Payload 日志(攻击记录)
等待攻击记录…
XSS 原理与防御
[!] XSS 攻击原理
- 攻击者:在表单/URL参数中注入恶意 JS 代码
- 服务器:未过滤,直接将输入存入数据库并返回给其他用户
- 受害者:访问页面时,恶意代码在其浏览器中执行
危险后果:
• 窃取 Cookie / 会话令牌
• 劫持用户账号
• 植入钓鱼页面
• 键盘记录
• 窃取 Cookie / 会话令牌
• 劫持用户账号
• 植入钓鱼页面
• 键盘记录
[DEFENSE] 防御方法
-
htmlspecialchars():输出时转义
<>等字符 - Content Security Policy:通过 HTTP 头限制可执行脚本来源
- HttpOnly Cookie:禁止 JavaScript 读取 Cookie
- 输入验证:白名单过滤,移除危险标签
PHP 安全输出:
<?php echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8'); ?>