为了避免重复造轮子,关于 redis 未授权访问漏洞 文章直接转载了Freebuf 上我觉得比较负责的一篇
不过,经过一年左右的时间,redis 有了一定的升级,此时很多默认配置可能都变了
所以,在前人的基础上,我现在看看redis做成什么样了吧
首先去下载
https://redis.io/download

可以看到目前有三个版本,其中有
稳定版 4.0
不稳定版本
测试版 5.0
对于企业来说,肯定是选择稳定版本了,所以我们用4.0 来做实验

我们选择 ubuntu server 18.04 系统版本吧
redis官网给了我们安装方法,或者说编译方法

下面我们就来尝试一下(可以使用scp将压缩包传到虚拟机中,或者在虚拟机中wget命令下载等)
首先解压

解压之后我们直接进入redis的目录,输入make

如果你的报错了,可能是因为没有安装gcc
sudo apt install gcc
执行上面的安装语句就可以了
从上面的图中我们可以看到生成的文件在
/home/test94/redis-4.0.11/src/
我们进入目录后输入 ./redis-server 来启动redis

还是一样的配方,还是一样的味道,可以看到默认监听的是 6379端口
接下来我们在另一台主机中连接这个redis服务端
redis-cli -h 192.168.123.141
并且执行一下基本的命令 info

从上图,我们可以看出,info命令执行失败了
redis服务器还给出了一些可能的原因
可能是因为开启了保护模式,因为在这种模式下只允许本地环回网口进行连接
从这里看出,现在的版本默认配置已经不存在之前的未授权访问漏洞了
我们看一看其中重要的参数

从此处可以看到有几条配置被开启并且设置
bind 127.0.0.1
protected-mode yes
从配置文件分析,默认既使用了绑定本地IP,又开启了保护模式
这样就不再存在之前的未授权访问漏洞了,此时我们再来对比一下之前文章中给出的这个安全建议

可以看到,其中有一条就是禁止外网访问,现在redis默认已经做了
其中提到的修改默认端口,这个我是不太认同的,我觉得没有什么必要,毕竟指纹没有变,即使改了端口也是一样的
其他的建议大多都是用户操作的,比如设置密码,增加防火墙策略,以低权限来运行,禁用高危方法命令等
redis默认是不太可能去操作的,一般都要考虑到大众需求,由使用者来进行相关安全配置
当然,现在来讲redis 未授权访问 有点太晚了,毕竟这是之前的漏洞了
其实,这些介绍只是一个小铺垫,接下来我着重介绍的是
存在 SSRF 漏洞的情况下,如何利用目标内网中的redis 未授权访问漏洞来getshell
敬请期待




