DownUnderCTF 2025 mini-me
国外的CTF -web题
比赛平台:DownUnderCTF
打开题目后下载附件
里面包括这些文件
代码审计
templates分析
templates 里面包含 index.html和confidential.html
这两文件中有一段代码比较重要(共同的)
1 | <script src="/static/js/main.min.js"></script> |
app.py 分析
然后我们分析app.py
1 | from flask import Flask, render_template, send_from_directory, request, redirect, make_response |
由上到下来分析吧
首先
1 | from flask import Flask, render_template, send_from_directory, request, redirect, make_response |
一些配置文件,初始化 api 密钥 和flag
接着我们分析路由
/路由
1 |
|
打开题目后载入到index.html页面
login和confidential.html路由
1 |
|
login 路由登录完成后载入confidential.html
confidential.html路由同理
/admin/flag路由
1 |
|
在/admin/flag路由中 我们给X-API-Key 传入 经过判断得到flag
分析完之后我们开始做题
打开题目
做题分析
登录部分
一个登录界面
访问static/js/main.min.js(前面有提到过的)
1 | https://web-mini-me-ab6d19a7ea6e.2025.ductf.net/static/js/main.min.js |
注意这里
1 | //test map file -> test-main.min.js.map, remove in prod |
.map
文件(源映射文件)是 JavaScript 开发中用于调试压缩/混淆代码的重要工具
我们访问看看
1 | https://web-mini-me-ab6d19a7ea6e.2025.ductf.net/static/js/test-main.min.js.map |
下载到文件
解密部分
打开后我们我们丢给ai分析并让他给我们解密脚本(由于里面内容太乱这里只展示部分重要的代码)
1 | #!/usr/bin/env python3 |
我们把
1 | TUNG-TUNG-TUNG-TUNG-SAHUR |
作为
X-API-Key (HTTTP 头)传入 /admin/flag路由得到flag
1 | flag:DUCTF{Cl13nt-S1d3-H4ck1nG-1s-FuN} |