SSRF攻击利用场景

信息安全 http 服务器 Python 网络 ssrf
2021-09-04 22:46:49

这个视频(0:37) 中,这个人使用 Python 启动了一个简单的 HTTP 服务器,然后使用一个链接从他刚刚启动的服务器中获取文件。但这如何构成潜在的安全漏洞?

一个文件被上传到一个地方,该文件是从互联网上的某个地址(在本例中为 HTTP python 服务器)获取的。这怎么会产生一个 SSRF 安全漏洞?如何利用这个漏洞?

1个回答

服务器端请求伪造(SSRF) 攻击中,攻击者强制易受攻击的服务器代表他们发出恶意请求。

您的链接视频显示了一个典型场景:许多社区网站让您能够提供指向资源的链接,例如您要上传的个人资料图片的 URL(StackExchange 也这样做)。然后,Web 服务器将尝试获取该资源以将其下载到自己的 CDN 或以某种方式对其进行处理。

这里最常见的攻击思路是,您可以让服务器获取只有服务器可以访问但您不能访问的资源,例如防火墙后面的 Intranet 服务器。

因此,您可以指定链接http://intranet/而不是真正的个人资料图片 URL,并希望服务器从其自己的 Intranet 获取页面,从而向您显示内容。类似地,您可以猜出可能被您阻止但请求服务器不被阻止的内部 IP 地址和端口号。如果您没有得到有用的内容,您仍然可以测量响应时间,或者如果目标 IP 存在于其内部网络中,则从错误消息中得出结论。