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

TIER 0: Redeemer的更多相关文章

  1. Hack The Box( Starting Point )

    Hack The Box [Starting Point] 初始点 -- 了解渗透测试的基础知识. 这一章节对于一个渗透小白来说,可以快速的成长.以下将提供详细的解题思路,与实操步骤. TIER 0 ...

  2. 2000条你应知的WPF小姿势 基础篇<1-7>

    在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know ...

  3. Windows Live Write 日志客户端

    下载地址 下载地址:http://wl.dlservice.microsoft.com/download/E/4/9/E494934D-C33E-486A-AB1A-82248C800922/zh-c ...

  4. ssd可以用作redo 盘吗?

                                               ssd可以用作redo 盘吗? 1.ssd有写磨损,而且ssd的写性能也不是非常好,ssd只是随机读特别好,因为 ...

  5. [No0000129]WPF(1/7)开始教程[译]

    概要 在我使用了半年多 WPF 后,是时候写点关于 WPF 基础方面的东西了.我发表了一系列针对具体问题的文章.现在是到了让大家明白为什么说WPF是一款在界面开发上带来革命的产品了. 本文针对初级-中 ...

  6. OpenStack_Swift源代码分析——Ring的rebalance算法源代码具体分析

    1 Command类中的rebalnace方法 在上篇文章中解说了,创建Ring已经为Ring加入设备.在加入设备后须要对Ring进行平衡,平衡 swift-ring-builder object.b ...

  7. 利用 PGO 提升 .NET 程序性能

    引子 .NET 6 开始初步引入 PGO.PGO 即 Profile Guided Optimization,通过收集运行时信息来指导 JIT 如何优化代码,相比以前没有 PGO 时可以做更多以前难以 ...

  8. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

  9. ZAM 3D 制作3D动画字幕 用于Xaml导出

    原地址-> http://www.cnblogs.com/yk250/p/5662788.html 介绍:对经常使用Blend做动画的人来说,ZAM 3D 也很好上手,专业制作3D素材的XAML ...

  10. 微信小程序省市区选择器对接数据库

    前言,小程序本身是带有地区选着器的(网站:https://mp.weixin.qq.com/debug/wxadoc/dev/component/picker.html),由于自己开发的程序的数据是很 ...

随机推荐

  1. 一:nacos 的安装与启动方式

    一: nacos 的下载与安装 1,下载 到 github下载  nacos-server-1.2.0.zip  文件   :https://github.com/alibaba/nacos/rele ...

  2. MySQL知识网络

    MySQL知识网络 引擎 InnoDB 支持表锁 .行锁 支持事务 *.frm 表结构文件 *.idb 表数据和索引文件 MyISAM 支持表锁 *.frm 表结构文件 *.MYD 表数据文件 *.M ...

  3. 一文看懂Spring事务的七种传播行为

    什么叫事务传播行为?听起来挺高端的,其实很简单. 即然是传播,那么至少有两个东西,才可以发生传播.单体不存在传播这个行为. 事务传播行为(propagation behavior)指的就是当一个事务方 ...

  4. 用Vue全家桶纯手工搓了一个开源版「抖音」

    前言 2018年刚入行前端时,公司使用的还是Angular.Angular什么都好,就是写代码时的体验老糟心了,改一个地方,按下保存之后,要等好几秒刷新后才能看到效果,Webstorm无比好用的自动保 ...

  5. iOS11 ReplayKit2 问题总结

    一.苹果自6月30日发布iOS11系统之后,其中的Airplay的协议发生变更,导致市场上的苹果直播助手(录屏)大部分变得不可用,因此在iOS11之后需要寻找新的技术方案来录屏 1)采用系统提供的Re ...

  6. ajax 请求接口实例

    通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象.大多数 ...

  7. linux的账号和组

    1.0 账号与用户组 1.1 用户标识符:UID,GID 虽然我们登陆Linux主机的时候输入的是账号,但其实Linux主机并不会直接认识你的账号名称,账号只是为了方便人. 一个文件如何判断他的拥有者 ...

  8. C语言常用数学函数

    目录 C语言常用数学函数(头文件#include "math.h") abs()函数 labs()函数 fabs()函数 floor()函数 floorf() floorl() c ...

  9. 在AngularJS中,控制器没有生命周期方法

    在AngularJS中,控制器没有生命周期方法,但是$scope对象有一些事件,可以模拟生命周期方法的行为.例如,$scope.$on('$destroy', function() {...})可以在 ...

  10. shell基础概述

    1.0 编程的目的 计算机的发明,是为了用机器取代/解放人力,而编程的目的则是将人类的思想流程按照某种能够被计算机识别的表达方式传递给计算机,从而达到让计算机能够像人脑/电脑一样自动执行的效果. 编程 ...