Server-Side Request Forgery服务器端请求伪造(ssrf)
1、使用docker环境搭建部署ssrf漏洞环境
将web-ssrfme.zip上传到Ubuntu根目录下、并进行解压缩。
2、进入web-ssrfme目录下,docker-compose up -d 启动容器
此时可以看到容器已经启动成功、并且成功的拉取到ssrfme镜像
我们使用端口访问文件,可以看到有一个过滤条件,它限制了file,dict协议,127.0.0.1和localhost 也不能用,其实就是不想你探测内网端口,也不能读取内网服务文件。
但是!它可以通过phpinfo了条件。
我们可以看到出现了php页面、主机名为:172.19.0.3端口为:80
所以我们可以在172.19.0.3地址上进行测试端口,端口不一样,值也不一样
经过不断的测试、发现只开放了一个80端口和6379端口
此时我们可以测试一下默认路径:/var/www/html
我们可以看到upload具有可执行权限、可以通过这个目录进行访问。
获取到shell后、传递到路径里。
时间响应很快、说明一次解码失败
然后我们对url进行二次编码
对编码后的shell再次进行传递到路径里
成功写入shell.php