Monkey Sai Lei! Es war das letzte Mal, dass ich eine so leistungsstarke Sicherheitstestpraxis gesehen habe!

01. Konzepteinführung

1,1 xss

XSS-Angriffe beziehen sich in der Regel auf die Ausnutzung von Schwachstellen, die während der Webentwicklung entstanden sind, und auf das Einschleusen bösartiger Befehlscodes in Webseiten durch clevere Methoden, die es Benutzern ermöglichen, von Angreifern böswillig erstellte Webprogramme zu laden und auszuführen. Bei diesen bösartigen Webprogrammen handelt es sich in der Regel um JavaScript, sie können aber auch Java, VBScript, ActiveX, Flash oder sogar einfaches HTML enthalten. Nach einem erfolgreichen Angriff kann der Angreifer verschiedene Inhalte erhalten, einschließlich, aber nicht beschränkt auf höhere Privilegien (z. B. das Ausführen einiger Vorgänge), private Webinhalte, Sitzungen und Cookies.
Referenz: Baidu-Enzyklopädie

1.2 Eskalation von PR-Privilegien

Die PR-Privilegieneskalation nutzt eine lokale Überlaufschwachstelle in Windows aus. Ihre Hauptfunktion besteht darin, Benutzern mit geringen Privilegien Systemprivilegien zu verleihen. Dies kommt häufig bei der Eskalation von Webshell-Privilegien vor. Die Patch-Nummer ist KB952004.

02. Schießstandumgebung

Angriffsmaschine: Mac-IP: 10.211.55.2

Zieldrohne: Windows Server2003 + xycms

IP-Adresse der verschobenen Website: 10.211.55.17:81

Untersuchen Sie die Sicherheitstestfunktionen:

Bild

Wenn Sie das automatisierte Testen erlernen möchten, empfehle ich Ihnen eine Reihe von Videos. Dieses Video kann als das von Bilibili gespielte Tutorial zum automatisierten Testen Nummer eins im gesamten Netzwerk bezeichnet werden. Die Anzahl der Personen, die gleichzeitig online sind, hat 1.000 erreicht , und es gibt auch Notizen, die gesammelt und verteilt werden können. Technische Kommunikation von Lu Dashen: 798478386     

[Aktualisiert] Eine vollständige Sammlung der detailliertesten praktischen Tutorials zum automatisierten Testen von Python-Schnittstellen, unterrichtet von Bilibili (die neueste praktische Version)_bilibili_bilibili [Aktualisiert] Eine vollständige Sammlung der ausführlichsten praktischen Tutorials zum automatisierten Testen von Python-Schnittstellen, unterrichtet von Bilibili (praktische Version) . ) Die neueste Version) enthält insgesamt 200 Videos, darunter: 1. Warum Schnittstellenautomatisierung für die Schnittstellenautomatisierung durchgeführt werden sollte, 2. Gesamtansicht der Anfrage für Schnittstellenautomatisierung, 3. Schnittstellenpraxis für Schnittstellenautomatisierung usw. Weitere spannende Videos Vom UP-Master folgen Sie bitte dem UP-Konto. icon-default.png?t=N7T8https://www.bilibili.com/video/BV17p4y1B77x/?spm_id_from=333.337 

03. Sicherheitstestprozess

PS: Derzeit stehen verschiedene Sicherheitslösungen zum Testen auf dem Schießstand zur Verfügung. Die Lösungen im Artikel dienen nur als Referenz!

3.1 Informationssammlung

Durchsuchen Sie die Website:

Bild

3.1.1 Verzeichnis-Scan

Verwenden Sie hier zunächst den Verzeichnisscanner, um das Verzeichnis zu scannen:

dirsearch -u http://10.211.55.17:81/

Bild

[14:59:34] 301 -  149B  - /js  ->  http://10.211.55.17:81/js/
[14:59:34] 403 -   32B  - /%2e%2e//google.com
[14:59:34] 500 -    3KB - /.ashx
[14:59:34] 500 -    3KB - /.asmx
[14:59:34] 500 -    3KB - /.aspx
[14:59:34] 500 -    3KB - /.axd
[14:59:37] 301 -  152B  - /ADMIN  ->  http://10.211.55.17:81/ADMIN/
[14:59:37] 301 -  152B  - /Admin  ->  http://10.211.55.17:81/Admin/
[14:59:38] 500 -    3KB - /Trace.axd
[14:59:39] 500 -    3KB - /WebResource.axd?d=LER8t9aS
[14:59:39] 403 -   32B  - /\..\..\..\..\..\..\..\..\..\etc\passwd
[14:59:40] 301 -  152B  - /admin  ->  http://10.211.55.17:81/admin/
[14:59:40] 200 -    3KB - /admin/
[14:59:40] 200 -    3KB - /admin/?/login
[14:59:46] 301 -  153B  - /editor  ->  http://10.211.55.17:81/editor/
[14:59:46] 200 -    1KB - /editor/
[14:59:46] 500 -    3KB - /elmah.axd
[14:59:48] 301 -  153B  - /images  ->  http://10.211.55.17:81/images/
[14:59:48] 200 -    3KB - /images/
[14:59:48] 301 -  150B  - /inc  ->  http://10.211.55.17:81/inc/
[14:59:48] 200 -  806B  - /inc/
[14:59:48] 200 -  739B  - /js/
[14:59:53] 500 -    3KB - /service.asmx
[14:59:54] 301 -  152B  - /style  ->  http://10.211.55.17:81/style/
[14:59:55] 500 -    3KB - /umbraco/webservices/codeEditorSave.asmx
[14:59:56] 500 -    3KB - /web.config

Task Completed

 

Hier sollte es einige Hintergrundinformationen geben.

3.1.2 Plug-in-Sammlung

Informationen, die über das Wappalyzer-Plug-in gesammelt werden, finden Sie unter:

Das System sollte auf Windows Server laufen, die Sprache, in der die Website läuft, ist ASP und der Webserver sollte IIS sein.

Bild

3.2 Prüfung der Injektionsschwachstelle

Normale Seite:

 http://10.211.55.17:81/news_detail.asp?id=109

Die Seite nach dem Hinzufügen einfacher Anführungszeichen:

http://10.211.55.17:81/news_detail.asp?id=109'

 

Daher wird hier eine mögliche SQL-Injection vermutet.

3.3 Sicherheitslücke bei schwachen Passwörtern

 

Im Hintergrund liegen derzeit folgende Informationen vor:

  • Die Hintergrundanzeige ist das Enterprise-Website-Building-System XYCMS, ein kommerzielles CMS

  • Möglicherweise liegt im Hintergrund ein schwaches Passwort vor, und es scheint, dass es nicht mit roher Gewalt geknackt werden kann, da ein Bestätigungscode vorhanden ist.

Um die oben genannten Informationen zu erhalten, versuchen Sie es zunächst mit schwachen Passwörtern.

Bild

Beim Testen von Admin im Hintergrund wurde festgestellt, dass der Hintergrund direkt eingegeben werden kann, sodass eine Schwachstelle bei Passwörtern besteht.

Und hier wurde eine Bak-Datei gefunden, die eine Backup-Datei sein sollte. Klicken Sie hier, um es herunterzuladen und auszuprobieren:

Bild

Daher macht die aktuelle Datei hier wenig Sinn.

3.4 Sicherheitslücke im Bestätigungscode

Auch in der Hintergrundschnittstelle, wenn wir Burpsuite zum Brute-Force-Cracken verwenden, gibt es zwar einen Bestätigungscode, aber nach dem Testen kann der Bestätigungscode hier mehrmals wiederverwendet werden, sodass eine Sicherheitslücke bei der Wiederverwendung des Bestätigungscodes besteht.

Bild

3.5 XSS-Sicherheitslücke

Beim Durchsuchen der Website habe ich gesehen, dass Sie hier Reservierungsinformationen eingeben können. Aus Erfahrung weiß ich, dass diese Art von CMS XSS-Schwachstellen aufweisen sollte und in Zukunft getestet wird.

Bild

04. Überprüfung der Schwachstelle

4.1 Sicherheitslücke bei Injektionen

In 3.2 wurde festgestellt, dass hier möglicherweise eine SQL-Injection-Schwachstelle besteht, daher wird hier sqlmap zum Testen verwendet.

sqlmap -u http://10.211.55.17:81/news_detail.asp?id=109

Zu diesem Zeitpunkt wurde festgestellt, dass eine boolesche Blindinjektion vorliegt und auf die Datenbank zugegriffen wird. Für diese Art von Datenbank können Sie das Pangolin-Injektionstool (Pangolin) für eine schnelle Injektion verwenden.

An dieser Stelle stellt sich auch schnell heraus, dass es sich um eine Injektion handelt.

Bild

Rufen Sie Datenbankkonto- und Passwortinformationen direkt ab:

Bild

Rufen Sie zu diesem Zeitpunkt den MD5-Wert des Kontos und des Passworts ab:

admin|21232f297a57a5a743894a0e4a801fc3|

Versuchen Sie zu diesem Zeitpunkt, MD5 zu entschlüsseln:

Das Passwort ist admin

Bild

4.2 xss Touch-Eingabe

Blindes Tippen bedeutet, nicht zu wissen, wo XSS-Schwachstellen bestehen könnten, und an mehreren Stellen zu testen, wo js-Anweisungen eingefügt werden können.

In 3.5 wurde nachgewiesen, dass das CMS möglicherweise eine XSS-Schwachstelle aufweist, sodass es hier getestet werden kann.

Legen Sie zunächst eine XSS-Nutzlast auf der selbst erstellten XSS-Plattform fest:

Bild

Kopieren Sie die aktuelle Nutzlast und fügen Sie sie gerade in das Message Board ein. Ändern Sie den Front-End-Code und fügen Sie den XSS-Code direkt ein:

Bild

Zu diesem Zeitpunkt wird angezeigt, dass die XSS-Anweisung erfolgreich eingefügt wurde.

Bild

Melden Sie sich mit der Adresse und dem Passwort an, die Sie gerade im Backend kennen, klicken Sie auf Online-Terminverwaltung. Sie können sehen, dass alle Nachrichten hier unsichtbar sind. Sie können eine beliebige öffnen, um einen Blick darauf zu werfen.

Bild

Nach dem Öffnen sind keine gültigen Informationen zu sehen:

Bild

Gehen Sie zu diesem Zeitpunkt zur XSS-Plattform, um Folgendes anzuzeigen:

An dieser Stelle können Sie sehen, dass die Hintergrundadresse und Cookie-Informationen abgerufen wurden.

Bild

Besuchen Sie hier über einen anderen neuen Browser

http://10.211.55.17:81/index.asp,

Und verwenden Sie jetzt den Cookie-Editor, um das Cookie zu ersetzen.

Bild

wieder besuchen

http://10.211.55.17:81/admin/xycms.asp

 Zu diesem Zeitpunkt haben Sie den Hintergrund erfolgreich eingegeben.

Bild

Dies beweist, dass die Website eine gespeicherte XSS-Schwachstelle aufweist.

4.3 Hintergrund-Getshell

Versuchen Sie nach Eingabe des Hintergrunds, eine Shell zu erhalten.

Bild

Im Hintergrund haben wir herausgefunden, dass es sich bei diesem CMS um XYCMS handelt. Wir haben Schwachstellen zu diesem CMS im Internet gesammelt:

Ich habe im Internet einen Artikel über die Methode zum Abrufen einer Shell im xycms-Hintergrund gefunden:

Bild

Dann probieren Sie es im Hintergrund aus:

Fügen Sie diesen Satz in den Website-Namen ein (eigentlich können Sie hier einen beliebigen Website-Namen, eine Website-Beschreibung und Website-Schlüsselwörter auswählen) und speichern Sie dann die Systemeinstellungen.

Bild

Besuchen Sie: http://10.211.55.17:81/inc/config.asp

Bild

Verwenden Sie zum Herstellen einer Verbindung das Webshell-Verwaltungstool. Verwenden Sie hier Ant Sword:

Nachdem Sie es wie unten gezeigt hinzugefügt haben, doppelklicken Sie zum Öffnen:

Bild

Webshell-Verbindung erfolgreich:

Bild

Ich denke du magst

Origin blog.csdn.net/m0_73409141/article/details/133240674
Empfohlen
Rangfolge