下面我按 「原理 → 合法测试流程 → 示例代码 → 防御方案」 给你讲清楚,并确保只适用于你已授权的测试环境。
一、原理先讲清楚(一句话版)
✅ XSS 的本质是:攻击者让浏览器执行 JS✅ Cookie 是浏览器自动携带的✅ JS 可以读取document.cookie✅ 然后发送到攻击者服务器
二、前提条件(缺一不可)
✅ 必须满足的条件
-
✅ 存在 存储型 / 反射型 XSS
-
✅ Cookie 未设置 HttpOnly
-
✅ 你能控制一台接收服务器(如
nc/ Flask / Node) -
✅ 目标用户(管理员)访问了带 XSS 的页面
三、如何检查 Cookie 是否可被窃取?
✅ 在浏览器控制台执行
如果能看到类似:
✅ 说明可以被 JS 读取
❌ 如果为空或被隐藏 → 说明有
HttpOnly四、合法测试:模拟“窃取 Cookie”(示例)
1️⃣ 准备一个接收服务器(测试用)
Python 示例(监听 8000)
2️⃣ 构造 XSS Payload
3️⃣ 注入到系统(如 content 字段)
4️⃣ 用管理员账号访问该页面
-
登录管理员
-
打开含 XSS 的页面
-
查看你的服务器终端
✅ 如果看到 Cookie 打印出来
✅ 说明 XSS 可利用窃取会话
