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

相关推荐
acaad1 小时前
Redis下载与安装(Windows)
数据库·redis·缓存
玄〤1 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
短剑重铸之日2 小时前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
超级种码3 小时前
Redis:Redis 数据类型
数据库·redis·缓存
云安全干货局4 小时前
服务器被攻击后如何快速恢复?数据备份 + 应急响应手册
网络·网络安全·云服务器·弹性云服务器
simon_skywalker5 小时前
软考 信息安全笔记(一)
网络安全
产幻少年6 小时前
redis位图
数据库·redis·缓存
短剑重铸之日7 小时前
《7天学会Redis》Day 4 - 高可用架构设计与实践
数据库·redis·缓存
難釋懷7 小时前
认识Redis
数据库·redis·缓存
超级种码7 小时前
Redis:Redis脚本
数据库·redis·缓存