WeChall - Wanda (Fun, Exploit)

Challenge

WeChall 上的 Wanda(Fun, Exploit),难度 2/6,78 人已解。题面:"Long story short; I quit my job to focus on art. Please take a look at my work, which i turned into a challenge for marketing reasons." 指向 https://wanda.gizmore.org,一个艺术/绘本网站 "Wanda, die kleine Heuschrecke"(Wanda 小蚱蜢)。

同一 index.php 也被用于 World of Wonders(Fun, Stegano,难度 7),提示:"Who knows these words finds three words and more on the wanda website." 三个词的提示。

Source Code Analysis

Challenge verification (www/challenge/wanda/index.php):

1
2
3
4
if (isset($_POST['answer'])) {
$_POST['answer'] = strtoupper(md5($_POST['answer']));
}
$chall->onCheckSolution();

提交的答案先取 MD5 再转大写,与 install.php 中的 $solution 比较:

1
$solution = 'E1C2C91B0C1AFCF97FCFF0EFE148D5C8';  // = strtoupper(md5(plaintext))

所以需要找到明文 X,使 md5(X).upper() == "E1C2C91B0C1AFCF97FCFF0EFE148D5C8",即 md5(X) == "e1c2c91b0c1afcf97fcff0efe148d5c8"

尝试过的破解方法(均未成功):

  • hashcat + rockyou.txt(14M 词)→ 无匹配
  • 本地 dict 词库(339K 英文词 ≥6 字符)→ 无匹配
  • SecLists common words(128K)→ 无匹配
  • credits text 所有关键词 → 无匹配
  • 已知词组变体(underscore/dash/space/大小写)→ 无匹配
  • 在线 MD5 数据库(gromweb, md5decrypt.net)→ 未收录
  • 子代理 10 分钟穷举 → 超时无结果
  • subprocess

Wanda 网站调查

站点 wanda.gizmore.org 结构:

路径 内容
/ 首页,"Wanda, die kleine Heuschrecke"
/wanda/book/1/page/N 绘本(第 1 页有前言,后续页面含扫描图)
/wanda/image/book/1/page/N/image/M 绘本扫描图 PNG(含 stego 分析潜力)
/downloads 下载区:3 个文件
/download/1/Wanda_Book1_Scan_zip 付费 €10(扫描版)
/download/2/Wanda1_Images_zip 付费 €5(原图)
/download/5/Wanda_pdf 免费下载(11.8MB PDF,绘本全文)
/wanda/credits Credits 滚动字幕(含 Hacker Manifesto)
/links 链接收藏
/nanny 管理后台(需权限)

免费 PDF 内容:41 页 A4 绘本故事书,"Wanda the little grasshopper",纯英文儿童故事,未发现隐藏 flag。

Forum Hints

  • Hint for Wanda(forum-t1433):提问者说 "trying to download the zip for free" → 作者回复 "You are on a good track",核心是 download token 相关 exploit
  • Any more hints?(forum-t1498):多个提示。
    • 不要浪费时间在 SQLi/LFI/RFI
    • "rumors say the credits.txt contain a hidden message"
    • "Something with morse.... in the txt borders"
    • "The original challenge is to download for free. But maybe someone likes to try this crypt/steg"
    • "The geeks shall inherit the properties and methods of object earth."

Credits Hidden Message

www/tpl/wanda/js/wanda_credits_text.js 包含巨大的 ASCII 滚屏文本,结尾有 "The Conscience of a Hacker"(The Mentor 的 Hacker Manifesto 全文)。边框字符大量使用 .-,疑似 Morse 编码。尝试解码但结果无意义(大量重复 "EEEE"、"TTTT"),需要更系统的提取方法。

Download Token System

GWF3 Download module 的 token 验证:

  • Token 12 位,格式 [a-z0-9_]{12}GWF_Random::randomKey(12) 生成(不可预测)
  • 下载 URL 模式:/download/{id}/{slug}/download/{id}/{slug}/{token}(携带 token 的参数)
  • 付费文件需要:① token(付款后生成)或 ② 已购用户自动授权

可能的 exploit 方向:

  • token 生成/验证逻辑漏洞
  • SQLi 在 token 查询中
  • 权限绕过(checkUser / checkToken 逻辑缺陷)

状态

⏸ 延后处理:MD5 hash E1C2C91B0C1AFCF97FCFF0EFE148D5C8 未能被破解,plaintext 未知。可能需要:

  1. Exploit download token 获取付费 ZIP → 内容中藏答案
  2. 更系统地解码 credits text 边框 Morse
  3. 分析 Wanda site 某 hidden endpoint
TBD