Web-Schwachstelle - Super detaillierte vollständige Lösung für das Herunterladen und Lesen von Dateien im Web-Dateibetrieb

Inhaltsverzeichnis

1. Karte

Zweitens, die Einführung

3. Einfaches Experiment

4. Echte Fälle (illegale Operationen sind verboten)

Fünftens: RoarCTF-Datei, die eine echte Reproduktion liest

6. Wiederauftauchen echter Fragen in der Baidu Cup Zone

7. Xiaomi Router – Echter Test der Schwachstelle beim Lesen von Dateien


1. Karte

Zweitens, die Einführung

  • Die Datei wird geparst --> die Datei enthält eine Schwachstelle
  • Quellcode anzeigen --> Schwachstelle beim Lesen von Dateien
  • Aufforderung zum Herunterladen von Dateien --> Schwachstelle beim Herunterladen von Dateien

3. Einfaches Experiment

1. Pikachu-Schießstand öffnen.

2. Öffnen Sie die folgende Seite.

 3. Wenn wir auf dieser Seite auf ein bestimmtes Bild klicken, lädt die Website das angeklickte Bild herunter.

4. Nehmen Sie die Website zur Analyse heraus, und Sie können wissen, dass die Website die Dateien herunterlädt, die nach dem Dateinamen des Parameters verbunden sind.

 5. Dann habe ich mich gefragt, ob ich die PHP-Datei herunterladen könnte, also habe ich die URL in den Stil geändert, der im Bild unten gezeigt wird. Sie können sehen, dass die Webseite einen Fehler zurückgibt.

6. Wir kopieren den Downloadpfad und den Downloadlink des Bildes zum Vergleich.

7. Nach der Analyse können wir feststellen, dass der Grund für das Scheitern des obigen Downloads darin besteht, dass unser Pfad falsch ist und wir eine Verzeichnisebene nach oben springen müssen, also ändern wir die URL in den folgenden Stil.

 8. Sie können sehen, dass wir die Datei erfolgreich heruntergeladen haben. 

9. Nach dem Herunterladen des Codes können wir andere Dateien durch den Inhalt im Code erhalten, hier haben wir eine Datei namens inc gefunden.

10. Nach dem Versuch fand ich heraus, dass sich Inc im Pikachu-Verzeichnis befindet.

11. Wenn wir den folgenden Pfad besuchen, können wir die Datei function.php unter inc herunterladen.

 

12. Wenn der Penetrationstest normal durchgeführt wird, müssen wir einige sensible Dateien herunterladen, z. B. Datenbankkonfigurationsdateien. 

13. Aber wie heißt diese Datei und in welchem ​​​​Verzeichnis befindet sie sich, wir wissen es in der frühen Phase definitiv nicht, also hier zwei Lösungen:

  • Scan-Tools crawlen oder scannen Adressen.
  • Der heruntergeladene Dateicode wird verwendet, um den Pfad zu analysieren und die enthaltene Datei zu erhalten.

14. Ein Beispiel für die Verwendung des Scan-Tools ist in der folgenden Abbildung dargestellt.

 15. Wenn wir ein größeres Tool zum Scannen verwenden, finden wir die folgende Datei, hier laden wir diese Datei herunter.

16. Nach dem Öffnen dieser Datei können wir die Konfigurationsinformationen der Datenbank sehen.

17. Als nächstes können wir einige sensible Informationen für den nächsten Schritt erhalten.

        Ergänzung: Wählen Sie einige Parameternamen aus, auf die Sie achten müssen, usw.

4. Echte Fälle (illegale Operationen sind verboten)

1. Suchen Sie die entsprechende Website.

 2. Geben Sie die Website ein.

3. Auf dieser Website können Sie die Anwendung herunterladen.

4. Hier verwenden wir die Funktionspunkte dieser Seite , um zu beurteilen, ob es Schlupflöcher gibt. 

5. Hier laden wir einfach eine Software herunter.

6. Kopieren Sie den Dateinamen und die Download-Adresse.

7. Entschlüsseln Sie den Wert hinter dem Parameter s.

8. Holen Sie sich den obigen Inhalt nach der Entschlüsselung.

9. An dieser Stelle können Sie das ursprüngliche Erscheinungsbild der URL erkennen.

10. Davon können wir weiter nachdenken und seine Schwachstelle beim Herunterladen von Dateien ausnutzen. 

Fünftens: RoarCTF-Datei, die eine echte Reproduktion liest

        Adresse: BUUCTF Online-Evaluation

1. Finden Sie das entsprechende Thema.

2. Kopieren Sie nach dem Öffnen des Schießstandes die Adresse der Testfrage.

3. Öffnen Sie die Adresse der Testfrage, und Sie können ein Anmeldefeld sehen.

 4. Sie können sehen, dass es unten eine Hilfe gibt, und wir können die Linkadresse sehen.

 5. Wir kopieren diese Adresse und können sehen, dass es hier eine Datei-Download-Funktion gibt. .

 6. Nach dem Besuch werden die folgenden Inhalte zurückgegeben.

7. Dies liegt daran, dass dies mit den Entwicklungsgewohnheiten von Java zusammenhängt.Im Allgemeinen werden die Parameter des Dateidownloads im Post-Modus übergeben.

8. Nachdem wir die Parameter per Post übermittelt haben, können wir sehen, dass die Datei erfolgreich heruntergeladen wurde.

9. Nach dem Öffnen der Datei können Sie den folgenden Inhalt sehen.

10. Es kann beurteilt werden, dass dies eine Java-Webskript-Website ist, indem Pakete erfasst werden.

11. Die Middleware ist openresty.

12. WEB-INF/web.xml ist eine Datei, die häufig von Java-Web verwendet wird, also denken wir daran, sie zu lesen, die die relevanten Informationen vieler Websites aufzeichnet, einschließlich Konfigurationsinformationen und entsprechende Dateipfade.

13. Laden Sie die Konfigurationsdatei herunter, Sie können sehen, dass der Download erfolgreich war.

14. Sie können auch relevante Informationen erhalten, indem Sie das Paketerfassungstool verwenden, um Pakete zu erfassen, und Sie können sehen, dass hier ein Flag vorhanden ist.

15. Wir können uns vorstellen, auf die Flag-Datei zuzugreifen, aber der Browser hat einen 500-Fehler gemeldet.

16. Wir besuchen die untenstehende Adresse, um Pakete zu erfassen.

17. Sie können die Flagge sehen.

6. Wiederauftauchen echter Fragen in der Baidu Cup Zone

1. Finden Sie das entsprechende Thema.

2. Einschalten.

3. Geben Sie ein.

4. Wenn wir auf den in der Abbildung unten gezeigten Ort klicken, werden wir aufgefordert, uns anzumelden, damit wir uns vorstellen können, dass sich darin ein Geheimnis befindet.

5. Wir klicken auf die Symbolposition, um Pakete zu erfassen.

 6. Wir ändern die obige 0 in 1 und geben das Paket frei.

7. Nach der Freigabe des Pakets können Sie die folgenden Änderungen auf der Seite sehen. 

8. Klicken Sie auf „Verwalten“, um Pakete zu erfassen.

9. Wenn wir nichts tun und das Datenpaket versenden, kehrt die Webseite zur ursprünglichen Seite zurück.

10. Auch hier ändern wir 0 auf 1 und legen dann das Paket ab.

11. Nach der Freigabe des Pakets erschien ein weiteres Datenpaket. 

12. Wir senden dieses Datenpaket an den Repeater und ändern dann die 0 von Login auf 1 und legen das Paket dann auf die rechte Seite.

 13. Sie sehen, dass es hier ein Modul gibt, der dahinter stehende Name ist ähnlich dem Namen der Datei und der Name dahinter stellt ihr Format dar. Zusammengenommen heißt hier eigentlich die Datei index.php.

14. Da hier die FFC-Framework-Struktur verwendet wird, wird durch die Schwachstelle festgestellt, dass dies die entsprechende Datei ist, auf die verwiesen wird, sodass wir in Erwägung ziehen können, diesen Speicherort zu ändern, um die angegebene Datei zu lesen.

7. Xiaomi Router – Echter Test der Schwachstelle beim Lesen von Dateien

1. Rufen Sie die folgende URL auf, um den Status der Schwachstelle anzuzeigen.

        Adresse: https://www.seebug.org/vuldb/ssvid-98122

2. Woher wissen wir also, wo unser Ziel ist (Xiaomi-Router)?

——> Batch-Wiederholungstest.

3. Verwenden Sie direkt fofa, um nach „Xiaomi Router“ zu suchen.

 4. Kopieren Sie die Adresse, die die Schwachstelle auslöst.

 5. Klicken Sie auf die zu filternde Symbolposition.

6. Schalten Sie einen beliebigen Xiaomi-Router ein.

 7. Kopieren Sie den soeben kopierten Schwachstellencode und geben Sie 404 zurück, was anzeigt, dass dieser Router diese Schwachstelle nicht aufweist.

8. Finden Sie eine andere, um zu versuchen, festzustellen, ob sie erfolgreich heruntergeladen wurde.

 9. Nach dem Öffnen können Sie den folgenden Inhalt sehen, der das Root-Passwort enthält.

 10. Im Follow-up können viele Dinge gemäß dem folgenden Inhalt in der vorherigen URL getan werden, daher wird die Demonstration hier nicht durchgeführt.

Acho que você gosta

Origin blog.csdn.net/weixin_62808713/article/details/129915679
Recomendado
Clasificación