這個 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。據我所知,「archive」不是 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 重寫,正如您所猜測的那樣 - 它會重寫/archive/*/archive/redirect.php然後讀取 URL 的其餘部分並發出反向代理請求。

另一種方法是操縱應用程式404處理。如果出現 404 錯誤,Web 伺服器會在將其傳送到用戶端之前攔截它,然後執行反向代理請求,將結果轉送到用戶端。

無論哪種方式,它看起來都是一個很好的利用方式,可以從外部存取公司網路內部的資源。我敢打賭,如果您將該http://127.0.0.1/URL 替換為其他任何內容,它將返回該 url 的內容。

相關內容