T573673 【CTF】Web

题目背景

本题模拟一个包含账户系统的服务器。 对 Linux 和 MacOS 用户:不必担心,本题实际上并不需要运行程序。运行程序只是为了更直观地模拟。 [](修完题之后还在交旧版答案的那些什么成分不用多说了/oh)

题目描述

### 一句话题意 注册为管理员即可通过。 ### 完整题意 我们提供了一个基于 Windows 的服务器的代码。你的目标是:注册一个管理员账户。 请在附件中下载代码文件,编译运行(请链接 `ws2_32` 库)。或者也可以直接下载编译好的程序运行。 该程序将会在 `localhost:4080` 运行一个服务器。这个服务器提供的是题目背景里的注册服务。 你可以在浏览器中访问 `localhost:4080/register/user` 来注册用户 `user`。 之后,服务器会根据用户名赋予权限——符合条件的用户将获得管理员身份。 注册完成之后,服务器会给这个账户返回一个整数,表示用户 ID。 为了方便查看,访问 `localhost:4080/info/uid` 查询 ID 为 `uid` 的用户的信息。

输入格式

输出格式

说明/提示

再次简述您要做的事情: - 在附件中下载源码编译(或直接下载成品 exe 文件),执行。 - 程序将会启动一个用于模拟的服务器。您需要“黑”掉这个模拟服务器。 - 接着您可以在浏览器中访问这个模拟服务器,尝试与这个模拟服务器互动。 - 当您找到了某个能够“黑”掉模拟服务器的 URL(即网址)——也就是通过访问这个 URL,你可以注册成为管理员用户——提交这个 URL 到本题。 服务器接受 GBK 格式的编码,而不是 UTF-8。 您不必理会部分源代码,它们并不是考察的范围: - 开头(从 12 行到 231 行)的命名空间 `MD5`。它实现的是标准 MD5 哈希算法。 - 末尾(从 414 行到 465 行)的两个函数 `handle_request` 和 `start_server`。它们用于开启端口并处理请求。