
Ich habe ein System geerbt, an dem ich mithilfe von Reverse Engineering Änderungen vornehmen möchte.
Es gibt ein Programm, das eine URL zum Anhören von Aufnahmen generiert. Es sieht so aus:
Die URL funktioniert und ich kann mir die Aufnahmen anhören, ich verstehe nur nicht, WIE das funktioniert. Es sieht aus wie eine URL innerhalb einer URL. Soweit ich das beurteilen kann, ist „Archiv“ kein Link oder Alias auf recordings.myserver.com. Es gibt definitiv kein „http://127.0.0.1"-Verzeichnis auf dem Server.
Dieser Link funktioniert auch:
http://recordings.myserver.com/completed/MP3/2019-12-23/recording_file_name.mp3
Es macht auch mehr Sinn, nur nicht das, was das bestehende Programm in die Tabelle schreibt.
In der .htaccess steht:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
Beachten Sie jedoch, dass die URL HTTP ist und nach jeder Umschreibung so bleibt. Die Seite, die den Link enthält, auf den geklickt wurde, um die Aufnahme anzuhören, hat nur
Wie kann ein Link wie der erste funktionieren, wenn es keinen Archivlink oder Ordner gibt? Funktioniert derhttp://127.0.0.1innerhalb der ersten URL?
Antwort1
Es gibt verschiedene Möglichkeiten, dies zu erreichen. Eine davon ist, wie Sie vermutet haben, HTTP Rewrite. Dabei wird es /archive/*
beispielsweise in umgeschrieben, /archive/redirect.php
das dann den Rest der URL liest und eine Reverse-Proxy-Anfrage stellt.
Eine andere Möglichkeit wäre, die 404-Behandlung der Anwendung zu manipulieren. Wenn ein 404-Fehler auftritt, fängt der Webserver ihn ab, bevor er ihn an den Client sendet, und führt dann die Reverse-Proxy-Anforderung aus und leitet das Ergebnis an den Client weiter.
So oder so scheint es sich um einen hervorragenden Exploit zu handeln, um von außerhalb auf interne Ressourcen des Unternehmensnetzwerks zuzugreifen. Ich wette, wenn Sie diese http://127.0.0.1/
URL durch irgendetwas anderes ersetzen würden, würden Sie den Inhalt dieser URL zurückbekommen.