THM学习笔记——SSRF

什么是SSRF?

SSRF代表Server-Side Request Forgery(服务器端请求伪造)。允许恶意用户使Web服务器向攻击者选择的资源发出附加或编辑的HTTP请求。

SSRF的类型

有两种SSRF漏洞类型;第一种是常规SSRF,其中数据返回到攻击者的屏幕。第二种是盲SSRF漏洞,其中发生了SSRF,但没有信息返回到攻击者的屏幕。

有什么影响?

  • 访问未经授权的区域。
  • 访问客户/组织数据。
  • 能够扩展到内部网络。
  • 揭示身份验证令牌/凭据。

在Web应用程序中,可以以许多不同的方式发现潜在的SSRF漏洞。以下是查找的四个常见地点的示例:

或者也许只是 URL 的路径:

当地址栏中的参数使用完整 URL 时:

表单中的隐藏字段:

部分 URL,例如主机名:

如果使用盲SSRF,没有返回,你需要使用外部HTTP记录工具来监视请求,例如requestbin.com、你自己的HTTP服务器或Burp Suite的Collaborator客户端。

确保请求的资源符合特定规则通常有两种方法,拒绝列表或允许列表。

拒绝列表

拒绝列表是指接受除了在列表中指定的资源或匹配特定模式的资源之外的所有请求。Web应用程序可能使用拒绝列表来保护敏感端点、IP地址或域的访问,同时仍然允许对其他位置的访问。限制访问的一个特定端点是localhost,其中可能包含服务器性能数据或其他敏感信息,因此域名,如localhost和127.0.0.1,可能会出现在拒绝列表中。攻击者可以通过使用替代的localhost引用,如0、0.0.0.0、0000、127.1、127...*、2130706433、017700000001或具有解析为IP地址127.0.0.1的DNS记录的子域绕过拒绝列表,例如127.0.0.1.nip.io。

此外,在云环境中,有利于阻止对IP地址169.254.169.254的访问,该地址包含部署的云服务器的元数据,可能包含敏感信息。攻击者可以通过在自己的域上注册具有解析为IP地址169.254.169.254的DNS记录的子域来绕过此限制。

允许列表

允许列表是指除非它们出现在列表中或与特定模式匹配,否则所有请求都会被拒绝,例如参数中使用的URL必须以 https://website.thm. 开头的规则。攻击者可以通过在攻击者的域名上创建子域,例如 https://website.thm.attackers-domain.thm,来迅速规遍此规则。应用逻辑现在将允许此输入,并允许攻击者控制内部HTTP请求。

如果上述绕过方法不起作用,攻击者还有一个绝招,即开放重定向。开放重定向是服务器上的一个端点,让网站访问者自动重定向到另一个网站地址。例如,链接 https://website.thm/link?url=https://tryhackme.com 就是为了记录访问者点击此链接的次数,以用于广告/营销目的。但是想象一下,存在一个潜在的SSRF漏洞,严格规定只允许以 https://website.thm/ 开头的URL。攻击者可以利用上述特性将内部HTTP请求重定向到攻击者选择的域。

SSRF - CTF Wiki

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值