
Мне досталась в наследство система, которую я пытаюсь реверсировать, чтобы внести изменения.
Есть программа, которая генерирует URL для прослушивания записей. Выглядит она так:
URL работает, и я могу слушать записи, я просто не понимаю, КАК это работает. Это выглядит как URL внутри URL. Насколько я могу судить, "архив" не является ссылкой или псевдонимом на recordings.myserver.com. Определенно нет "http://127.0.0.1" каталог на сервере.
Эта ссылка также работает:
http://recordings.myserver.com/completed/MP3/2019-12-23/имя_файла_записи.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 веб-сервер перехватывает ее перед отправкой клиенту, а затем выполняет обратный прокси-запрос, пересылая результат клиенту.
В любом случае это выглядит как превосходный эксплойт для доступа к ресурсам, которые являются внутренними для сети компании извне. Я бы поспорил, что если бы вы заменили этот http://127.0.0.1/
URL буквально на что угодно, он бы вернул содержимое этого URL.