一、ssrf概述
大都是由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发起请求,并返回对该目标地址请求的数据;通常是将该服务器作为跳板对内网进行端口扫描等
二、pikachu靶场搭建
1、下载靶场:GitHub - zhuifengshaonianhanlu/pikachu: 一个好玩的Web安全-漏洞测试平台
2、拖到虚拟机,win10新建的虚拟机中的网站根目录中
3、修改配置文件中的连接数据库的账户密码
4、访问pikachu/install.php,安装
三、pikachu 靶场ssrf
file_get_contents() 是一个简单的方法,适用于获取远程资源的内容,而 cURL 函数则更适合处理复杂的 HTTP 请求和具有更多定制需求的情况。选择使用哪种方法取决于你的需求和要求的灵活性。
1、遇到一个问题:ssrf打不开要读的“诗”
这是因为,从上面的yrl可以看到是向127.0.0.1请求,默认80端口,但是我们这里是8070,所以手动去加一个
2、ssrf---curl
1)试着去访问百度
2)利用file协议:file//
只能查看非php的文档,因为php会被当作代码执行,除非base64编码等方式
3)再比如,想获取其他网站得资源,http请求80端口的web的robots.txt
3、ssrf--file_get_content
差不多似乎
www.baidu.com
四、ssrf防御
还是对输入进行过滤吧,例如限制http、https协议,限制请求的端口,黑名单内网ip;