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

相关推荐
TracyCoder12320 小时前
解读华为云Redis Proxy集群规格:架构、规格与带宽性能
redis·架构·华为云
陌上丨20 小时前
如何保证Redis缓存和数据库数据的一致性?
数据库·redis·缓存
晓131321 小时前
第八章:Redis底层原理深度详细解析
数据库·redis·缓存
米羊12121 小时前
威胁识别(上)
网络·安全·web安全
白帽子黑客罗哥21 小时前
护网行动中遇到突发安全事件的标准应急响应流程
网络·安全·web安全·计算机·护网行动
世界尽头与你21 小时前
(修复方案)CVE-2023-26111: node-static 路径遍历漏洞
安全·网络安全·渗透测试
ZZ581 天前
mumu模拟器adb安装apk以及抓https包
网络安全
fengxin_rou1 天前
Redis从零到精通第二篇:redis常见的命令
数据库·redis·缓存
hellojackjiang20111 天前
如何保障分布式IM聊天系统的消息可靠性(即消息不丢)
分布式·网络安全·架构·信息与通信
晓13131 天前
第六章:Redis分布式缓存
redis·nosql