TIER 0: Redeemer
TIER 0: Redeemer
Redis
Remote Dictionary Server 是一个开源的内存数据存储系统
- Redis 是完全基于 内存,“内存”数据库的数据检索时间⾮常短,因此提供⾮常⾼效和最短的响应时间。
- 也支持将数据写入磁盘,以保证数据持久性。
- Redis 的架构非常简单,它由单个线程运行,避免了锁等并发控制问题,使得 Redis 的性能非常高。
作为传统数据库(如 MySQL 或 MongoDB)与 Web 应用程序之间的高速缓存层。
Redis 命令
这里是对靶机进行攻略,不详细说明 Redis 命令,具体可参考 Redis 命令参考
redis-cli
redis-cli 是 Redis 提供的官方命令行工具,用于与 Redis 服务器进行交互和操作。如果没有安装,在对应 Linux 发行版的包管理器安装即可。如果是其它操作系统,可参考 Redis 官方文档 进行安装。
我使用的是 Debian 系 Linux,通过
apt install redis-cli
安装。
redis-cli 连接到 Redis 服务器:
redis-cli -h <hostname> -p <port>
-h
指定 Redis 服务器的主机名,填靶机地址就即可-p
指定 Redis 服务器的端口,补充 Redis 默认监听在 TCP/6379 端口,当然实战应该根据 nmap 等扫描工具分析结果而定,因为可能会有多个 Redis 服务或者 Redis 服务监听在其它端口。
如果 Redis 服务器运行在本地,可以省略主机名和端口号。如果你想要进一步学习通过 redis-cli --help
命令来查看其帮助⻚⾯ 😘
INFO
INFO
命令用于获取关于 Redis 服务器的各种信息和统计数据。它提供了关于服务器状态、客户端连接、内存使用、持久化配置、复制信息等方面的详细信息。
返回的信息包括但不限于以下几个方面:
- server:关于服务器的信息
- clients:有关客户端连接的信息
- memory:有关内存使用情况的信息
- persistence:持久化配置相关的信息
- replication:复制相关的信息
- stats:各种统计信息
- cpu:关于 CPU 使用情况的信息
我们关注 Keyspace
部分提供的每个数据库的主字典的统计信息,包括密钥数量和过期密钥数量。
键操作
下面我们要做的是使用
SELECT
命令用于切换 Redis 数据库查看其中键值。实际本次 flag 就是其中键值 🤐
键操作是 Redis 中对键值存储进行操作的基本命令。Redis 是一种键值存储系统,它使用键(key)和值(value)的结构来存储和检索数据。相信学习过任意一门编程语言【大部分】都应该理解 键值对 这个概念吧,不了解不用担心,搜索引擎会帮助你 🤗
- 使用
KEYS *
可以查看当前数据库中所有的键。 - 使用
GET <key>
可以获取指定键的值。
记着确认自己的数据库是否切换到了 0
,如果没有,使用 SELECT 0
切换到 0
号数据库。
结尾
Redeeemer 靶机主要是对 Redis 的基本操作,如果你对 Redis 有一定的了解,那么这个靶机应该不难。如果你对 Redis 不了解,那么这个靶机应该是一个很好的入门靶机。
如果你想要了解 Redis 更多 😏 https://redis.io/topics/quickstart