WeChall - Disclosures
Challenge
URL:
https://www.wechall.net/en/challenge/dloser/disclosures/index.php
题面说 Minihack 发生安全事件,dloser 设法登录成 Admin。页面提供
viewer.php,可以查看 Minihack 文件源码。
已确认源码入口
Minihack 实际文件位于 challenge 的 www/ 目录。通过
www/viewer.php?f=... 已经读取到:
config.php:加载secrets.php、GWF3 配置、Minihack 的用户/数据库/quirks 文件;admin.php:调用dldc_is_admin(),非 admin 返回Permission denied!;login.php:明确禁止用户名administrator,其他用户名进入dldc_login();home.php:展示 Minihack 首页。
viewer.php?f=home.php 的返回内容确认是服务器端 PHP
source disclosure,而不是普通静态文件下载。
题面线索
现有 draft 记录的论坛 hint 包含 eval 以及
stripos && strlen。这两个关键词应当在 Minihack
的实际
user.php、lib.php、challenge_quirks.php
和 profile/registration 流程中逐一定位,不能只凭关键词猜 payload。
优先检查:
dldc_is_admin()如何判断 session/user 属性;dldc_login()对 username/password 的处理;stripos()返回 0 或 false 时是否进入错误分支;strlen()检查前后是否发生编码转换;eval()的输入是否能被用户控制。
当前状态
未解决。源码泄露入口已确认,但完整 auth/session exploit chain 尚未复现,也没有提交管理员登录后的 solution。
后续路线
继续使用 www/viewer.php 只读枚举源文件,先把
user.php、lib.php、db.php、challenge_quirks.php
和注册/个人资料页面拼成完整数据流,再构造最小请求验证 admin 条件。