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主从复制,通过工具来完成

相关推荐
Boilermaker19923 小时前
[Redis] 分布式缓存与分布式锁
redis·分布式·缓存
虹科网络安全3 小时前
艾体宝产品 | 隆重推出 Haink:Redis 的应用型 AI 智能体
数据库·人工智能·redis
脆皮瞎4 小时前
内网横向移动 ?
网络安全·php·内网穿透
镜花水月linyi4 小时前
MySQL与Redis缓存一致性方案
redis·后端·mysql
czlczl200209255 小时前
双 Token 机制下的无感刷新(Refresh Token)后端实现
数据库·spring boot·redis·后端·mysql
网安_秋刀鱼6 小时前
【java安全】shiro反序列化1(shiro550)
java·开发语言·安全·web安全·网络安全·1024程序员节
世界尽头与你6 小时前
CVE-2022-21697_ Jupyter Server 代码问题漏洞
网络安全·jupyter·渗透测试
阿恩.7706 小时前
材料工程科技期刊征稿:快速发表,知网、维普检索!
经验分享·笔记·考研·网络安全·数学建模·能源·制造
关于不上作者榜就原神启动那件事7 小时前
Redis学习笔记
redis·笔记·学习