
Heredé un sistema al que estoy intentando aplicar ingeniería inversa para realizar modificaciones.
Existe un programa que genera una URL para escuchar grabaciones. Se parece a esto:
La URL funciona y puedo escuchar las grabaciones, pero no entiendo CÓMO funciona. Parece una URL dentro de una URL. Hasta donde puedo decir, "archivo" no es un enlace o alias en grabaciones.myserver.com. Ciertamente no hay "http://127.0.0.1"directorio en el servidor.
Este enlace también funciona:
http://recordings.myserver.com/completed/MP3/2019-12-23/recording_file_name.mp3
También tiene más sentido, pero no lo que el programa existente escribe en la tabla.
Hay en .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
Pero tenga en cuenta que la URL es HTTP y permanece así después de cualquier reescritura. La página que contiene el enlace en el que se hizo clic para escuchar la grabación acaba de aparecer
¿Cómo puede funcionar un enlace como el primero cuando no hay un enlace o carpeta de archivo? ¿Elhttp://127.0.0.1¿Dentro de la primera URL hacer que funcione?
Respuesta1
Hay diferentes maneras de lograrlo. Uno es con HTTP Rewrite, como supuso: se reescribiría /archive/*
, por ejemplo, /archive/redirect.php
que luego lee el resto de la URL y realiza una solicitud de proxy inverso.
Otra forma de hacerlo sería manipular el manejo de las aplicaciones 404. En caso de que se genere un 404, el servidor web lo intercepta antes de enviarlo al cliente y luego realiza la solicitud de proxy inverso, reenviando el resultado al cliente.
De cualquier manera, parece que es un excelente exploit para acceder a recursos internos de la red de la empresa desde fuera. Apuesto a que si reemplaza esa http://127.0.0.1/
URL literalmente con cualquier otra cosa, devolverá el contenido de esa URL.