我继承了一个系统,我正在尝试对其进行逆向工程以进行修改。
有一个程序可以生成一个 URL 来收听录音。它看起来像这样:
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 的内容。