这个 URL 怎么可能有效呢?

这个 URL 怎么可能有效呢?

我继承了一个系统,我正在尝试对其进行逆向工程以进行修改。

有一个程序可以生成一个 URL 来收听录音。它看起来像这样:

http://recordings.myserver.com/archive/http://127.0.0.1/completed/MP3/2019-12-23/recording_file_name.mp3

URL 可以正常工作,我可以收听录音,但我不知道它是如何工作的。它看起来像 URL 中的 URL。据我所知,“存档”不是 recordings.myserver.com 上的链接或别名。当然没有“http://127.0.0.1“服务器上的目录。

此链接也有效:

http://recordings.myserver.com/completed/MP3/2019-12-23/recording_file_name.mp3

这也更有意义,只是现有程序没有将内容写入表中。

.htaccess 中有:

RewriteEngine On
RewriteCond %{HTTPS}  !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

但请注意,URL 是 HTTP,并且在任何重写后都保持不变。包含单击以收听录音的链接的页面只是

在没有存档链接或文件夹的情况下,第一个链接如何工作?http://127.0.0.1在第一个 URL 内如何让它工作?

答案1

有多种方法可以实现这一点。一种方法是使用 HTTP Rewrite,正如您所猜测的那样 - 它会重写/archive/*/archive/redirect.php然后读取 URL 的其余部分并发出反向代理请求。

另一种方法是操纵应用程序的 404 处理。发生 404 时,Web 服务器会在将其发送给客户端之前进行拦截,然后执行反向代理请求,将结果转发给客户端。

不管怎样,这看起来都是一个从公司网络外部访问公司内部资源的绝佳漏洞。我敢打赌,如果你http://127.0.0.1/用任何其他东西替换该 URL,它都会返回该 URL 的内容。

相关内容