- A+
太傻了,我只在每月会议前一周左右与 CTFd 搞混,当然忘记了我在 CTFd 服务器上的管理员帐户的用户名和密码。[这是为解决了漏洞利用挑战的人跟踪分数的服务器]。
当然,这该死的东西在 Docker 容器中,而且每个人都知道我是 Docker n00b。但我有决心,所以我要勇往直前。
我进入码头集装箱......
docker exec -it /bin/sh
我知道它没有运行数据库服务器,所以我开始在 CTFd 目录中四处寻找,并找到 ctfd.db,一个 sqlite 数据库文件。大奖。
我将文件从 docker 容器中复制出来,因为没有安装 sqlite 命令行工具:
# docker cp (docker id):/opt/CTFd/CTFd/ctfd.db /tmp
那时我刚刚打开 SQLite 到它……
sqlite3 /tmp/ctfd.db
让我们看看架构是什么样的。
.schema
好的,所以有一个 users 表,但没有 admins 表。我们来看看用户:
从用户中选择 *;
好的,这是我的管理员帐户,现在我知道用户名是什么,它是我认为的三个用户名之一。还有一个名为“type”的列,它似乎是“user”或“admin”……密码列是加密的,所以这对我没有帮助。
所以我在 Web UI 中注册了一个新用户,给它一个密码,然后返回查看我的用户表。果然,现在有一个管理员和一个用户。让我们解决这个问题。
更新用户设置 type='admin';
如果存在更多用户,这会更加精细,但在我的情况下,除了我创建的用户之外,没有普通用户。
回到 Web UI,以我的新用户身份登录,果然,我拥有完整的管理员权限。当我第一次设置它时,我不知道我在想什么或喝了什么,但悲剧再次避免了。
是的,我本可以重建它,但易受攻击的虚拟机的所有标志都存储在其中。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫