Bug.Bounty.Bootcamp:Chapter 13: Server-Side Request Forgery


SSRF vulnerabilities occur when an attacker finds a way to send requests as a
trusted server in the target’s network.

By forging requests from trusted servers, an attacker can pivot into an
organization’s internal network and conduct all kinds of malicious activities.

SSRF vulnerabilities have two types: regular SSRF and blind SSRF.

两者背后的机制是相同的:它们都利用同一网络上机器之间的信任。唯一的区别是,在盲SSRF中,攻击者不会通过HTTP响应或错误消息从服务器接收反馈。

当服务器需要发送请求以获取外部资源时,就会发生SSRF。例如,当你在Twitter上发布一个链接时,Twitter会从该外部站点获取一个图像,以创建一个缩略图。如果服务器不阻止用户使用相同的机制访问内部资源,就会出现SSRF漏洞。


寻找SSRF

第一步:发现容易出现SSRF的特征

SSRF出现在需要访问和获取外部资源的功能中。其中包括Webhook、文件上传、文档和图像处理器、链接扩展或缩略图,以及代理服务。

值得测试任何处理用户提供的URL的端点。还要注意潜在的不太明显的SSRF入口点,比如应用程序处理的文件中嵌入的URL(XML文件和PDF文件通常可用于触发SSRF)、接受URL作为输入的隐藏API端点,以及插入HTML标记的输入。

Webhook是自定义HTTP回调端点,用作特定应用程序事件的通知系统。

 再上述url参数后面,如果给定的是内部其他服务的敏感信息URL,则可能发生SSRF

步骤2:使用内部URL提供潜在易受攻击的端点

一旦确定了可能存在漏洞的端点,请提供内部地址作为这些端点的URL输入。根据网络配置,您可能需要尝试几个地址,然后才能找到网络正在使用的地址。以下是为专用网络保留的一些常见功能:localhost、127.0.0.1、0.0.0.0、192.168.0.1和10.0.0.1。

您可以在以下位置找到更多用于标识专用网络上的计算机的保留IP地址:https://en.wikipedia.org/wiki/Reserved_IP_addresses

第三步:检查结果

 如果发现这样的消息,可以确定此端点上存在SSRF漏洞,因为您能够收集有关本地主机的信息。

向各种目标端口发出请求,并查看服务器行为在通常打开和关闭的端口之间是否有所不同。例如,端口22、80和443通常是开放端口,而端口11则不是。这将帮助您确定攻击者是否可以使用SSRF访问内部网络。您可以特别查找响应时间和HTTP响应代码的差异。

可疑用BURPSUITE对流量进行拦截,观察相应时间。

如果端口关闭,服务器通常会更快响应,因为它会立即丢弃转发的流量,而内部防火墙通常会导致响应延迟。攻击者可以使用时间延迟作为衡量指标来确定目标的内部网络结构。如果您能够识别不同端口请求之间的显著时间差,那么您就发现了一个可利用的SSRF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值