SSRF漏洞——redis
2022-02-25 21:04:002565浏览
Redis是一个使用ANSI C语言编写,支持网络,可基于内存和持久化的日志型,Key-Value数据库,并提供多种语言


Redis介绍
Redis是一个开源的使用ANSI C语言编写,支持网络,可基于内存和持久化的日志型,Key-Value数据库,并提供多种语言的API,通常被称为数据结构服务器。
通常点来说就是一个数据库,像这样的Redis经常用来去存放一些缓存,缓存文件之类的。

那么Redis通常会引发一些未授权的漏洞。Redis因为配置不当可以未授权访问,攻击者不需要认证访问到内部数据,可导致敏感信息泄露,也可以恶意执行flushall来清空所有数据。

攻击者可以通过eval执行LUA代码或者通过数据备份功能往磁盘写入后门文件。
如果Redis以root身份去运行,可以给root账号写入SSH公钥文件,直接通过SSH登录受害者服务器。

通常来说如果对方真的有Redis未授权我们就可以进一步去利用SSRF漏洞来去操作他内网的Redis,达到getshell的目的。


Redis环境搭建
这里我们搭建环境是直接在本机kali上去搭建。
首先我们需要去下载安装包。 wget http://download.redis.io/releases/redis-4.0.11.tar.gz

我们下载好这个安装包以后,我们需要上传到kali上面去的,然后我们就要去进一步的解压这个安装包。


解压安装包:tar-zxvf redis-4.0.11.tar.gz
解压以后我们在cd redis-4.0.11 # 这个目录里面去。
然后在make去执行 #编译
如果我们安装出现gcc错误,那么我们可以通过apt,在去安装gcc (apt-get install gcc),安装过后在去执行这个编译(make MALLOC=libc)就行了。
接下来我们去定位一下我们的这个Redis


启动我们的Redis,我们可以去到这个src目录下方去启动,/redis-server就可以启动了。


在这里我们还需要去做一下相关的修改配置,我们先vim redis的这个配置文件。
文件设置如下:
1、注释掉该ip地址,表示允许所有网络地址访问#bind 127.0.0.1
2、修改运行时不受保护 prorecred-mode no
3、修改为守护进程/后台程序(不需要进行这个操作,数据只会在后台运行时会保存,关闭将清空)daemonize yes
4、切换到src目录:cd src 启动客户端:./redis-cli 修改运行时不受保护,#config set protected-mode no设置密码 #config set requirepass password

这个时候我们重新启动一下我们的客户端,然后我们就可以直接看到,ip地址和端口和上面的是一样的。
这个就是一个未授权访问,我们是没有输入账号和密码,就能够去访问到这个redis数据库

友情链接: