Redeemer(Redis)
Redeemer(Redis)
1.TASK1
问题:机器上打开了哪个TCP端口?
使用nmap命令扫描端口(如果以下命令效果不佳,可以添加 -Pn):
nmap -sS -T4 -p0-65535 10.129.138.161
可知开放的端口号为6379/tcp。
答案:6379
2.TASK2
问题:哪个服务正在计算机上打开的端口上运行?
使用命令
nmap -A -p6379 10.129.138.161
可以得知:打开的6379/tcp端口上 运行的服务为redis数据库服务,对应的Redis版本号为5.0.7。
答案:redis
3.TASK3
问题:Redis是什么类型的数据库?从以下选项中进行选择:(i)内存数据库,(ii)传统数据库
Redis数据库是内存数据库,同时也是非关系型数据库。
答案: In-memory Database
4.TASK4
问题:哪个命令行实用程序用于与Redis服务器交互?输入要在终端中输入的程序名称,不带任何参数。
在linux中使用redis-cli命令行工具,来实现与Redis服务器的交互,redis-cli的安装命令为:
sudo apt install redis-cli
但是我碰到一个无论如何也找不到redis-cli软件包的问题,没办法只能通过其他方式下载安装
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make redis-cli
sudo cp src/redis-cli /usr/local/bin/
使用参数-h加上目标机器IP,就是redis-cli用来连接目标主机的命令,此处没有密码,直接连接即可:
redis-cli -h 10.129.176.5 -p 6379
//该命令中的-h用于指定ip或者主机名
//-p 6379用于指定连接的端口为6379(此处可以不加指定端口,即去掉-p 6379也可以)
成功连接后,使用命令:
info
可获取Redis服务器的信息和统计信息。
答案:redis-cli
5.TASK5
问题:Redis命令行实用程序使用哪个标志来指定主机名?
答案:-h
6.TASK6
问题:连接到Redis服务器后,使用哪个命令来获取Redis服务器的信息和统计信息?
答案:info
7.TASK7
问题:目标机器上使用的Redis服务器的版本是什么?
由上文的扫描结果可知,目标机器使用的Redis服务器的版本是5.0.7。
答案:5.0.7
8.TASK8
问题:哪个命令用于在Redis中选择所需的数据库?
在成功连接redis数据库并通过info命令获取数据库信息后,通过查看Keyspace信息模块,可以得知该数据库中有一个数据库名为db0(该数据库索引为0),keys=4,使用命令:
select 0
//select+index(索引号,此处选择0号索引)表示选择索引为0的数据库
答案:select
9.TASK9
问题:索引为0的数据库中有多少个键?
由上文可知db0数据库的keys=4,所以索引为0的数据库db0有4个键。
答案:4
10.TASK10
问题:哪个命令用于获取数据库中的所有密钥?
由上文可知,使用select 0选择数据库之后,使用命令:
keys *
可获取该数据库中的所有键。
答案:keys *
11.SUBMIT FLAG
通过TASK10中命令获取数据库的所有键,可以发现有一个键为flag,使用get命令 可查看flag值(tips-使用命令exit退出redis服务器连接):
get flag
//查看redis数据库中flag键的键值