目标是什么(Target)

https://github.com/virusdefender/ssrf-app 提供了一个 ssrf 的实例程序,docker-compose build && docker-compose up 之后,浏览器访问 http://vuln.net:8000/?url=http://example.com,系统就会抓取指定的地址的网页并返回,就可以看到和直接访问 http://example.com 一样的页面。

要注意的是,vuln.net 是我绑定的 host 到 docker 容器的 IP,我使用的 docker for mac,ip 为 127.0.0.1,这其实是经过端口转发的,后端服务器实际并不在我本地,这里可以看实际情况去修改。

另外已知在 /api/internal/secret 上存放了一个 secret api 服务,目标就是去访问它然后获取 secret,直接访问当然是不行了,会提示 IP 不在允许范围内。

首先的思路就是使用抓取网页的 api 去访问 secret api,所以先尝试将 url 参数换成内网 IP,然后访问查看。

使用 xray 自带的反连平台

有什么其他的绕过么(bypass)

备注(note)

  • 使用 0.0.0.0 代替 127.0.0.1 是另外一种绕过思路
  • 利用上面的思路访问本地的 22 和 6379 还可以发现 SSH 和 Redis 服务,也是一个重要的信息。