目录
关于ssrf攻击,传送门 -》SSRF漏洞原理与利用方式 。当我们检测出一个网站存在SSRF漏洞的时候,我们就可以探测当前或者内网主机开放的端口,而这些端口往往我们从外网是不能直接探测到的,所以可以尝试利用ssrf探测内网开放的端口。
漏洞利用前提:
- 知道网站根目录,这里假设知道了根目录
- 根目录具有写文件的权限
攻击环境搭建
- 操作系统:win7 x64,防火墙开启
- SSRF漏洞环境—皮卡丘靶场
- redis-5.0.10 x64
当开启防火墙后是探测不出redis端口的,所以我们利用ssrf探测内网redis
redis服务器搭建
下载后进行简单的配置
1. 关闭保护模式
打开 redis.windows.conf文件
1)将protected-mode yes修改为no,如下,关闭保护模式
2)接着找到bind 127.0.0.1在前面加上注释符,允许别的主机进行连接
# bind 127.0.0.1
然后启动redis
redis-server.exe redis.windows.conf
此时我们扫描主机的端口,6379显示为过滤的状态。而这里我们可以通过ssrf漏洞来探测外网不能探测到的内网端口
我们利用dict协议探测出当前服务器开启了6379端口
利用gopher协议写入webshell
gopher协议规则比较复杂,这里需要工具生成gopher
使用方法
编辑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
将生成的payload复制下来,再进行一次url编码
直接在浏览器漏洞所在url访问payload,或者使用burp发送
接着查看。发现生成了shell.php文件,访问文件