Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 49598|Antwort: 0

[Quelle] (Security).NET/C# verhindert den verzeichnisübergreifenden Zugriff auf Downloads

[Link kopieren]
Veröffentlicht am 07.04.2021, 11:57:38 | | | |
Szenario: Es gibt eine API-Schnittstelle, die Pfadparameter empfängt, den Dateipfad durch bestimmte Regeln abschließt und dann auf den Download an den Benutzer reagiert.

Request:
GET /download_page?id=content.dat HTTP/1.1

Request:
GET /download_page?id=.. %2f.. %2fweb.config HTTP/1.1(Dadurch wird die web.config-Datei des Servers heruntergeladen

Angenommen, D:\storage\123 ist das Root-Verzeichnis des Stores und alle gespeicherten Dateien befinden sich in diesem Verzeichnis, wenn der Benutzer den Pfad zu : hinzufügt. Symbol kann unter dem vorherigen Verzeichnis gekreuzt werden, und der URL-Parameter wird übergeben von: /.. / Einfacher Zugang zu sensiblen Ressourcen und Downloads.

Lösung

Schauen wir uns zuerst die Renderings an:



Der Code lautet wie folgt:







Vorhergehend:MD5 Online-Entschlüsselungswebsite, die im In- und Ausland häufig verwendet wird
Nächster:Der Unterschied zwischen /bin/false und /sbin/nologin, was Benutzern das Einloggen verbietet
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com