SSRF(服务端请求伪造)
原理:
很多web应用都提供了从其他的服务器上获取数据的功能。使用用户指定的URL,web应用可以获取图片,下载文件,读取文件内容等。这个功能如果被恶意使用,可以利用存在缺陷的web应用作为代理攻击远程和本地的服务器。
如图:
正常情况下,一个客户端发送指定的url给服务器去请求一个东西,当服务器收到这个请求后首先查看这个url是否合法,然后再去向内网资源去请求这个url需要的资源,然后服务器再将资源返回给客户端。
而如果恶意用户传入的url没有被过滤的话那么他就能够通过ssrf访问到内网的一些本来不允许访问的资源(也就是client直接去访问内网资源是不被允许的,而服务器可以,这就是ssrf)
在php中会导致ssrf的函数:
file_get_contents()
fsockopen()
curl_exec()
实验1:(basic)
可以看到这里使用了curl库:
curl_init — 初始化一个cURL会话
curl_setopt ( resource $ch , int $o