Einer unserer IIS-Server (IIS 7.5, Server 2008 R2) ist anscheinend "anfällig" fürTilde Kurzer Dateiname OffenlegungAusgabe.
Allerdings fällt es mir schwer, das Problem tatsächlich zu beheben. Bisher habe ich
8.3-Dateinamen deaktiviert, den Webserver gestoppt, das Site-Verzeichnis neu erstellt und den Dienst erneut gestartet
Eine Filterregel für eine Tilde in der URL wurde hinzugefügt:
- Eine Filterregel für eine Tilde ÜBERALL hinzugefügt:
IISRESET
ein paar MalÜberprüft, ob
web.config
die entsprechenden Filterregeln hinzugefügt wurden
.. aber ich schaffe es immer noch nicht, dass meine Seite dieprüfen:
java -jar ~/temp/IIS-ShortName-Scanner-master/IIS_shortname_scanner.jar http://www.example.com
[...SNIP...]
Testing request method: "TRACE" with magic part: "/webresource.axd" ...
Testing request method: "DEBUG" with magic part: "" ...
Testing request method: "OPTIONS" with magic part: "" ...
Testing request method: "GET" with magic part: "" ...
Reliable request method was found = GET
Reliable magic part was found =
144 requests have been sent to the server:
<<< The target website is vulnerable! >>>
Was muss ich sonst noch tun, um das Problem zu beheben?
BEARBEITEN:hier DIR /x
wird scheinbar kein 8.3-Dateiname angezeigt:
und hier ist der App-Pool für die Site (alle anderen Sites auf dem Server sind gleich):
BEARBEITEN2: Überprüfung, dass keine 8.3-Dateinamen mehr vorhanden sind:
Antwort1
Versuchen Sie, mit folgendem Befehl nach vorhandenen kurzen Dateinamen zu suchen fsutil
:
fsutil 8dot3name scan /s /v E:\inetpub\wwwroot
Und ziehen Sie sie aus, wenn sie gefunden werden:
fsutil 8dot3name strip /s /v E:\inetpub\wwwroot
Wenn ich mir auch das Protokoll mit dem leeren magischen Teil ( magic part: ""
) anschaue, frage ich mich, ob das ein Fehler im POC sein könnte. Diese Zeile inconfig.xmlsieht aus, als stünde danach ein zusätzliches Komma /webresource.axd
:
<entry> key="magicFinalPartList">
<![CDATA[\a.aspx,\a.asp,/a.aspx,/a.asp,/a.shtml,/a.asmx,/a.ashx,/a.config,/a.php,/a.jpg,/webresource.axd,,/a.xxx]]>
</entry>
Ich habe dev. über Twitter danach gefragt und er antwortete:
Also, es scheint, dass du jetzt in Sicherheit bist :)
Antwort2
außerdem „HINWEIS: Die Änderung des Registrierungseintrags NtfsDisable8dot3NameCreation betrifft nur Dateien, Ordner und Profile, die nach der Änderung erstellt werden. Bereits vorhandene Dateien sind davon nicht betroffen.“
Hinweis: Obwohl das Deaktivieren der 8.3-Dateinamenerstellung die Dateileistung unter Windows verbessert, können einige Anwendungen (16 Bit, 32 Bit oder 64 Bit) möglicherweise Dateien und Verzeichnisse mit langen Dateinamen nicht finden.
Antwort3
Leider besteht die einzige Möglichkeit, damit wirklich umzugehen, in einer Reihe lästiger Verrenkungen, die, abhängig von Ihrer Windows-Version, die Möglichkeit zur Generierung von 8.3-Namen deaktivieren.
Für Ihre Windows-Version:
Um die 8.3-Namenserstellung auf allen NTFS-Partitionen zu deaktivieren, geben Sie in einer Eingabeaufforderung mit erhöhten Rechten „fsutil.exe behavior set disable8dot3 1“ ein und drücken Sie dann die Eingabetaste.
Antwort4
Unten sehen Sie die beste Lösung, da wir nicht nach jeder neuen Bereitstellung entfernen können.
Testen/scannen Sie die Site auf Schwachstellen mit dem folgenden Link (Installieren Sie Java und führen Sie den Befehl zum Testen/Scannen aus).
Befehl zum Scannen der Site:
java -jar iis_shortname_scanner.jar 2 20 https://example.com/
Nach vorhandenen kurzen Dateinamen suchen:
fsutil 8dot3name scan /s /v c:\inetpub\wwwroot
Überprüfen Sie, ob die 8dot3-Namenserstellung deaktiviert oder aktiviert ist:
fsutil 8dot3name query C:\Release\SiteRootDocumentPath
Wenn die 8dot3-Namenserstellung aktiviert ist, deaktivieren Sie sie mit dem folgenden Befehl:
fsutil 8dot3name set C:\Release\SiteRootDocumentPath 1
8dot3name-Eigenschaften werden so gesetzt, dass die 8dot3-Namenserstellung für ein angegebenes Volume aktiviert (0) oder deaktiviert (1) wird.
Auch wenn Sie den Code im physischen Pfad der Site (SiteRootDocument) erneut bereitstellen, werden keine Dateien mit Kurznamen erstellt.
Der Scan wird bestanden:)