
我繼承了一個系統,我正在嘗試對其進行逆向工程以進行修改。
有一個程式可以產生一個 URL 來收聽錄音。它看起來像這樣:
該 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 的內容。