前言
传统数据库都是持久化存储到硬盘中,所以执行某些业务时传统数据库并不是很理想。redis等数据存储在内存中的数据库就应允而生了。基于内存的Redis读速度是110000次/s,写速度是81000次/s 。但是基于内存的缺点就是断电即失,如果服务器产生了意外,内存中的数据就会全部丢失,企业使用redis就冒着很大的风险。所以redis支持持久化存储(rbd与aof),在满足一定条件的情况下会自动保存到硬盘或者通过命令手动保存到硬盘。
上面的一切都很美好,直到一群搞安全的人发现redis中的默认配置是空口令(可以远程登录直接读取服务器内存中的数据),然后进入redis中发现可以手动更改持久化存储的路径和文件名(这样就可以在指定的路径写入某些的特殊的内容)--------->redis未授权访问漏洞就诞生了。
redis相关命令
-
redis-cli
- -h 连接指定host
- -p 指定端口
- -x 从标准输入中读取数据并且作为redis-cli的最后一个参数
root@b6134771890d:/data# echo 123|redis-cli -h 127.0.0.1 -p 6379 -x set test OK root@b6134771890d:/data# redis-cli -h 127.0.0.1 -p 6379 127.0.0.1:6379> get test "123\n"
-
config
- config get dir 获取redis用于文件持久化存储的路径
- config get dbfilename 获取redis用于文件持久化存储的文件名
- config set dir xxx