忘记管理员密码 CTFd – DC540 Defcon Group

  • 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,以我的新用户身份登录,果然,我拥有完整的管理员权限。当我第一次设置它时,我不知道我在想什么或喝了什么,但悲剧再次避免了。

是的,我本可以重建它,但易受攻击的虚拟机的所有标志都存储在其中。

忘记管理员密码 CTFd – DC540 Defcon Group


  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin