Redis漏洞复现

一.了解Webshell

Webshell是heike渗透后植入到网站服务器上的恶意脚本文件,他提供了一个web界面的命令行控制台,让攻击者能够远程控制服务器.有大马小马等多种形式.

web(通过浏览器访问)+shell(系统命令行)=webshell(通过网站访问的服务器控制台)

Webshell工作流程:1.发现漏洞(sql漏洞,文件上传等) 2.上传webshell 3.用浏览器访问webshell 4.执行命令控制服务器

二.关系型数据库和非关系型数据库

关系型数据库(如MySQL等): 采用关系模型来管理数据的数据库,就像互相关联的Excel表格仓库

适合复杂查询,适合需要严格校验,复杂计算的场景

非关系型数据库(如Redis等): 处理大量非结构化的数据,像一堆自由组合的收纳盒,使用键值对来存储数据,例如键key为苹果,值value为20个,在redis数据库中键是很重要的.适合快速存储,适用于当前网络视频平台,信息高速流动的场景.是一个高速缓存数据库.

三.Redis命令

(1).Redis客户端与服务端的连接

1.Redis客户端与服务端连接,先开启服务端redis-server,再通过redis-cli客户端进行连接

redis-cli命令用来连接本地服务器,使用PING命令查看服务端是否开启

2.Redis客户端和服务端不在一台服务器上,需要进行远程连接,确保bind值修改和保护模式的关闭

redis-cli -h host -p port -a password #当攻击机显示保护模式开启时,但conf文件里已关闭,可能是未同步问题,可以使用config命令直接对内存进行修改(不要搞我的电脑)

(2).Redis键命令

Redis本质上是一个键值对存储的数据库,以下命令用来实现对键值的操作

1.set key_name value #创建键值

2.del key_name #删除键

3.dump key_name #序列化键

4.exists key_name #判断键是否存在

5.expire key_name seconds #为键设置过期时间,以秒为单位,过期后该键自动删除

6.keys pattern #对给定要求的键进行查找,模糊查找

7.move key_name db #将某个键移动到指定数据库下

8.persist key_name #为有时间期限的key移除时间期限

9.rename key_name newkey_name #为键修改名字

10.type key_name #返回key的数据类型

.......有意愿可以多了解些redis键命令

(3).键的值命令

1.set key_name value #对键进行赋值

2.get key_name #显示key的值

3.getset key_name value #更改key的值并返回旧值

4.mget key1_name key2_name .... #获取多个key值

.........想学更多去菜鸟教程

四.Redis未授权访问漏洞

对于Redis未授权访问漏洞,有四种攻击方式

1.写入webshell,此处需要靶机开启web服务,受限比较大

2.利用计划任务拿到反弹shell,向靶机写入时间任务,适用于靶机为centos系统,限制小

3.ssh-keygen公钥登陆服务器,利用公钥私钥进行远程连接

4.Redis主从复制,通过工具来完成

相关推荐
小猪妈咪爱学法7 小时前
欧盟最新发布《AI数字综合法案(Digital Omnibus‑on‑AI,AI综合修订法案)
人工智能·网络安全
安全小王子9 小时前
nssctf_easyapp
网络安全·逆向·ctf·nssctf
梦Arrebol9 小时前
Redis 内容及相关实验
数据库·redis
菩提小狗11 小时前
每日安全情报报告 · 2026-08-26
网络安全·漏洞·cve·安全情报·每日安全
只爱喝胡辣汤13 小时前
Redis Intset(整数集合)技术文档
redis
01传说13 小时前
redis开机自启脚本
数据库·redis·缓存
BvxiE14 小时前
ISCC2023
web安全
数据知道15 小时前
漏洞挖掘方法论:从 Fuzz 到 0day 的思维框架
网络·安全·web安全·网络安全
只爱喝胡辣汤15 小时前
Redis SDS(Simple Dynamic String)技术文档
redis
只爱喝胡辣汤15 小时前
Redis Dict(字典/哈希表)技术文档
redis