02.Redis简介
本文最后更新于520 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

一、Redis简介

Redis 是完全开源免费的,一个灵活的高性能key-value数据结构存储,可以用来作为数据库、缓存和消息队列。

Redis服务默认端口: 6379

二、Redis常用命令

1.基本数据操作

set testkey "Hello World"
#设置键testkey的值为字符串"Hello World"

get testkey
#获取键testkey存储的字符串值

set score 99
#设置键score的值为99

incr score
#使用INCR命令将score的值增加1

get score
#获取键score的内容

keys *
#列出当前数据库中所有的键

2.配置管理

config set dir /home/test          # 设置工作目录(启动时的当前目录)
config set dbfilename redis.rdb    # 设置备份文件名
config get dir                     # 检查工作目录是否设置成功
config get dbfilename              # 检查备份文件名是否设置成功

3.数据库管理

save                               # 进行一次备份操作,保存数据库到磁盘
flushall                           # 删除所有数据(不要随便使用)
del key                            # 删除键为key的数据

三、Redis历史漏洞

  • Redis未授权访问漏洞
    Redis未授权访问漏洞可能由多种原因引起,包括但不限于:
  1. 配置不当:Redis实例配置为在公网上可访问或监听所有网络接口。
  2. 密码保护缺失:Redis实例未设置密码或使用了默认密码。
    漏洞可能导致以下后果:
  3. 敏感信息泄露:攻击者可以访问存储在Redis中的敏感数据,如用户凭据、会话令牌等。
  4. 数据丢失:攻击者可以执行flushall命令,清空所有数据库中的数据。
  5. 后门植入:攻击者可能利用数据备份功能将恶意文件(如WebShell、定时任务脚本)写入到服务器的文件系统中。
  6. 权限提升:如果Redis以高权限用户(如root)身份运行,攻击者可能通过写入SSH公钥文件等方式获得对服务器的持久访问权限。
  • Redis主从复制RCE漏洞
    Redis的主从复制功能允许从服务器同步主服务器的数据。然而,在Redis 4.x及以后的版本中,引入的 模块功能可能被滥用来实现远程代码执行(RCE):
  1. 模块功能滥用:攻击者通过上传恶意的Redis模块(.so文件),并利用Redis的module load命令加 载该模块。
  2. 远程代码执行:加载的恶意模块可能包含用C语言编写的代码,该代码在Redis服务器上执行,允许攻 击者执行任意命令。

MODULE LOAD 是 Redis 中的一个命令,用于动态加载外部模块(Redis Modules)。Redis 模块是 Redis 的扩展机制,允许开发者通过编写 C 语言模块来扩展 Redis 的功能,例如添加新的数据类型、命令或功能。

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇