Я унаследовал систему, которую пытаюсь реконструировать, чтобы внести изменения.
Есть программа, которая генерирует URL-адрес для прослушивания записей. Выглядит это так:
URL работает, и я могу слушать записи, я просто не понимаю, КАК это работает. Похоже на URL в URL. Насколько я могу судить, «архив» не является ссылкой или псевдонимом на records.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 заставить его работать?
Есть разные способы добиться этого. Один из них - HTTP Rewrite, как вы уже догадались - он перепишет /archive/*
сказать, /archive/redirect.php
который затем считывает остальную часть URL-адреса и делает запрос обратного прокси.
Другой способ сделать это - манипулировать обработкой 404 приложений. В случае возникновения ошибки 404 веб-сервер перехватывает ее перед отправкой клиенту, а затем выполняет обратный запрос прокси-сервера, перенаправляя результат клиенту.
В любом случае, похоже, что это отличный эксплойт для доступа к ресурсам, которые являются внутренними для сети компании, извне. Готов поспорить, что если вы замените это http://127.0.0.1/
URL-адрес буквально с чем-либо еще, он вернет содержимое этого URL-адреса.