This page has been robot translated, sorry for typos if any. Original content here.

WWW-E-MAIL-SCHNITTSTELLEN

Da die in diesem Artikel beschriebenen Methoden erfahrenen Benutzern seit langem bekannt sind, werden Schwachstellen, die eine 100% ige Gewährleistung von Hacking überall erlauben, eliminiert. Ziel ist es jedoch, die Anfänger mit den Prinzipien der Web-Mail-Arbeit (und deren Sicherheitslücken) vertraut zu machen.

Betrachten wir persönlich das Prinzip, mit dem eine Mailbox durch das WWW gehackt wird. Wir besitzen den Server www.po4ta.ru auch müssen wir in die Mailbox user@po4ta.ru gehen . Wir registrieren das Konto auf diesem Bluetooth- Server test@po4ta.ru auch die Haupttätigkeit, die wir in die Einstellungen unserer neu gemachten Box gehen. Am interessantesten ist für uns die Option "Passwort ändern" . An dieser Stelle wird vorgeschlagen, ein neues Passwort einzugeben und zu bestätigen, dass auch Daten gesendet werden.

Passwort ändern
Gib das neue Passwort ein:
Eingabe wiederholen:


Der Code für eine solche HTML-Seite könnte folgendermaßen aussehen:

Hier ist change_pass.php ein Server-Skript, das die Werte pass1, pass2 (Passwort mit Bestätigung) und username (den Inhalt des versteckten Feldes, das angibt, in welchem ​​Feld das Passwort geändert wird) annimmt.
Wenn Sie die entsprechende GET-Anfrage generieren, wird folgende Zeile gesendet:
http://po4ta.ru/change_pass.php?username=test&pass1=NEW_PASSWORD&pass2 = NEW_PASSWORD

Fügen Sie diesen Link nun in die Adresszeile des aktuellen Fensters unseres Browsers ein und senden Sie die Daten auch an den Server. Als Ergebnis erhalten wir eine Nachricht, dass das Passwort in der Box test@po4ta.ru erfolgreich geändert wurde. Und wenn wir versuchen, den Wert der Variablen username zu ändern und auch das Passwort der Box, an der wir interessiert sind, zu ändern. Wir senden:
http://po4ta.ru/change_pass.php?username= user & pass1 = NEW_PASSWORD & pass2 = NEW_PAROLE
Der Server wird uns wahrscheinlich eine Nachricht wie "Sie haben Zugriff auf Ressourcen, die Authentifizierung erfordern" auch TP geben. Das bedeutet, dass change_pass.php , das die Anfragen verarbeitet, festgestellt hat, dass die Cookies, die auf der Festplatte der Quelle der Arbeitssitzung mit der E-Mail geschrieben wurden, dem Benutzer test@po4ta.ru entsprechen , aber in keiner Weise benutzer@po4ta.ru . Zusätzlich zu den Cookies kann die Benutzeridentifikation über die IP-Adresse oder einen speziellen ID-Schlüssel erfolgen, der später beschrieben wird.

Daher ist der Benutzer gezwungen, die Anfrage selbst aus der Box user@po4ta.ru zu senden. "Erzwingt" der Benutzer dies, können Sie ihm eine Nachricht mit dem JavaScript-Code senden, wenn Sie erfinden, welche Daten automatisch mit seiner IP-Adresse auch an den Server gesendet werden. Beispiele für diesen Code sind:

Oder mit der POST-Methode:

Alle Variablen werden in ausgeblendeten Feldern festgelegt. Auch wenn der Benutzer den Mauszeiger über den Textkörper unseres Buchstabens bewegt, aktualisiert der OnMouseOver-Ereignishandler die Daten. Sie können den Vorgang zum Ändern des Kennworts durch Aktualisieren des Codes vollständig verschleiern:



NACHRICHT TEXT


Eine Tabelle der Größe 1000x1000 erweitert den Geltungsbereich des onMouseOver-Handlers, aber das Zielattribut des Formular-Tags lädt das Ergebnis der Abfrage in den Nullrahmen zeroFrame. Jetzt ist der Prozess für den Benutzer vollständig verborgen.


Vielleicht funktionierte der Mailserver so mit der ersten WWW-Schnittstelle. Gegenwärtig ist es unmöglich, auf diese Weise eine Seifenspülung zu machen. Erstens, auf den meisten Servern wird jetzt beim Ändern des Passworts, zusammen mit dem neuen, vorgeschlagen, das alte Passwort einzugeben. Zweitens, es ist schwierig, einen Mail-Server zu finden, mit dem Sie JavaScript in Briefen und angehängten Dateien ausführen können.

Nachfilter

Dies sind Programme, die auf dem Server sind, sie verarbeiten eingehende Nachrichten, schneiden oder ändern den Code, der die potentielle Gefahr enthält. So, zum Beispiel Skript, später könnte die Filterung Xscript oder ScripX aussehen. Das gesamte Programm, das in diesem Fall im Skript-Container gefunden wird, wird vom Browser nicht wie geplant interpretiert. Bypass-Filterung ist erlaubt, oder indem nach dokumentierten Wegen zur Implementierung unseres Codes gesucht wird, die von den Entwicklern des Postsystems nicht berücksichtigt werden, oder indem sie versteckt werden, dann den Code in einem modernisierten, für das Filterformular nicht erkannten Formular essen.
Betrachten wir andere Möglichkeiten zur Erfüllung der Abfrage in der vorherigen Probe.


Das Ergebnis der Änderung der Einstellung wird in einen unsichtbaren Rahmen geladen. Effektiver Weise, aber auf den meisten Mail-Diensten ist bereits abgedeckt.



Anstelle der Adresse des Bildes wird die Adresse der Konfiguration mit einer Passwortänderung geladen. Es funktioniert nicht, wenn der Benutzer die Grafiken in seinem Browser deaktiviert. Passt gut auf die meisten Server. Aber auf einigen, zum Beispiel www.rambler.ru , wird die URL durch eine spezielle Anwendungsumleitung / http: //po4ta.ru/change_pass.php? Benutzername = Benutzer & pass1 = NEW_PASSWORD & pass2 = NEW_PAROLE hochgeladen




Die angegebene URL wird nach dem Ablauf der Pore X (sec) geladen. Dieses Tag arbeitet zur Zeit an www.hotbox.ru

Andere Sicherheitslücken

Bei der Untersuchung der Einstellungen von Postfächern auf verschiedenen Soap-Servern gibt es neben der Änderung des Passworts ohne Bestätigung auch viele weitere grundsätzliche Nachteile, die es erlauben, die Box eines anderen zu übernehmen, Nachrichten zu lesen oder zu löschen usw. Kehren wir zu unserem Beitrag auf www.po4ta.ru zurück . Wir bekommen die Option "Weiterleitung" . Wir sollen eine oder mehrere Adressen eingeben, an die Briefe gesendet werden.



Wenn wir im E- Mail- Feld die Weiterleitungsadresse test1@po4ta.ru angeben, werden wir auch die Änderung der Einstellungen bestätigen, indem wir auf die Schaltfläche "Speichern" klicken. Die Seite wird mit dem neuen Formular geladen:



Damit die Änderungen wirksam werden, müssen Sie einen Bestätigungscode eingeben, der per Nachricht an test1@po4ta.ru gesendet wird . So können wir die gesamte eingehende Korrespondenz des uns interessierenden Nutzers erhalten, wenn wir ihm abwechselnd ein Paar HTML-Briefe zusenden, von denen der wichtigste eine Art Weiterleitungseinstellung ist, im anderen Fall eine Bestätigung mit einem uns bekannten speziellen Code. Dieses Schema des "Zuhörens" auf das Postfach einer anderen Person ist etwas umständlich, aber viele Versionen des Postdienstes, die kein Passwort zum Einrichten der Nachrichtenumleitung benötigen, sind erhalten geblieben.

Die nächste wesentliche Lücke in der Sicherheitspolitik der Postdienste ist die Änderung der geheimen Aufgabe sowie Einwendungen, wenn diese Operation nicht durch eine Passwortbestätigung geschützt ist. Wir können den Benutzer von seinem Postfach abschneiden, indem wir die uns bereits bekannten Methoden aktualisieren, aber dann den Passwort-Erinnerungsdienst verwenden, um Ihr Passwort festzulegen.

Häufiger, nur per Knopfdruck, wird in einigen Mailern das Benutzerkonto gelöscht. Ein typisches Beispiel ist www.yandex.ru . Das Passwort wird angefordert, um das Feld zu löschen, aber das Passwort wird nicht benötigt, um den konjugierten Dienst - die Seite * .narod.ru zu löschen. Elementar ist es erlaubt, die Seite des "Opfers" mit seinem Postfach zu löschen, indem man die Anfrage ausführt: http://narod.yandex.ru/registration/unlogin.xhtml?DeleteLogin=%C4%E0 , die sich im IMG-Tag verstecken darf.

Die nicht autorisierte Änderung anderer Einstellungen stellt jedoch auch ein wesentlich geringeres Risiko dar, kann sich jedoch indirekt auf die Erfassung des Postfachs auswirken
Persönliche Informationen bearbeiten (Name usw.)
Kontaktinformationen bearbeiten
Installieren Sie den Filter
Löschen Sie den XXXX-Ordner
E-Mail als Benutzer senden
Installieren Sie den POP3-Collector

ID-Schlüssel

In der Quelle des Artikels haben wir reserviert, dass in einigen Fällen ein symbolischer Bezeichner verwendet wird. Wenn es möglich ist, mit E-Mails zu arbeiten, ist es erlaubt, in der Adressleiste des Browsers zuzusehen:



Die Einführung eines solchen Systems erlaubt uns nicht, eine Standardabfrage trotzdem auszuführen, da die ID bei jedem neuen Eintrag in die Mailbox generiert und nach dem Ende der Sitzung durch Klicken auf die Schaltfläche "Exit" ebenfalls zerstört wird. Wenn die Sitzung jedoch nicht ordnungsgemäß beendet wird, können Sie den Bezeichner erneut verwenden.
Dies lässt sich leicht überprüfen, indem Sie die Adresse in die Zwischenablage kopieren, das Fenster schließen und in die Adressleiste des neuen Fensters einfügen - wir sind zurück in unserer Box. Nun, wenn der IP-Schlüssel nicht einer IP-Adresse zugeordnet ist (eine andere Art von Schutz), ist es in ähnlicher Weise erlaubt, in die Schatulle eines anderen Benutzers einzudringen, dafür genügt es, das Ortsfeld abzufangen, indem in unsere Nachricht die Tags eingefügt werden, die eine Anfrage an den HTML-Sniffer senden Im Gegenzug protokolliert die Variable HTTP_REFERER in einer speziellen Datei. Der genialste Weg ist wie üblich, die Adresse des Sniffers für das angebliche Bild anzugeben:



Protokolldatei - http://zero.h12.ru/stat/base.txt
Ein paar mehr Adressen, die Schnüffler auf dieser Seite essen. In der Klasse selbst, beim Schreiben eines Skripts, das verfolgt, von welcher Adresse eine Anfrage empfangen wird, eine fünfminütige Sitzung, ist es viel schwieriger, ein Hosting für das Hosting zu finden. Ein Beispiel für ein solches Skript auf PHP:



Betrachten wir als nächstes die Situation, in der eine fremde ID für uns nutzlos ist, da sie der IP-Adresse des Benutzers entspricht. Kommen wir zum System zurück, zu welchem ​​Zeitpunkt der Benutzer selbst mit seiner IP die Einstellungen der Box ändert und unseren Brief öffnet. Angenommen, wir essen diese Option Alle eingehenden Mails blockieren , wir möchten sie auch in die Box von jemandem aufnehmen.



Die Kennung wird in dem versteckten Feld "id" übertragen. Um die Einstellungen zu ändern, müssen Sie sie nun auch in Echtzeit abrufen, um sie zu ersetzen. Das erste, was mir in den Sinn kommt, ist JavaScript. Um ein spezielles Standortobjekt zu essen, enthält es auch die URL des aktiven Akts. Verwenden Sie die Funktion substr (), um unsere Kennung aus dem Standortfeld abzurufen .



Direkt substr () mit location funktioniert nicht, also fügen wir das Symbol # hinzu, weisen es einer Variablen zu, geben aber das Ergebnis der Berechnung in eine andere Variable ein, dann wird der ID-Schlüssel ausgeschnitten. Argumente substr (): x-Position von der Quelle der Zeichenfolge, x1-Position von x. In der Zeile http://www.newpochta.ru/session?id=a349f8d7be67c90af8873fc7ad803cf5&folder=inbox beginnt der Bezeichner an der 36. Stelle und hat auch 32 Symbole, so dass die Argumente die Form substr (36, 32) annehmen;

Ein weiteres Mittel, um die ID zu erhalten, ist wiederum, das Skript auf Ihrem Host zu verwenden. Wir schreiben in die Datei:




WIEDER ÜBER FILTER

Wenn wir auf der Web-Oberfläche mit Cookie-Authentifizierung Standardanfragen zum Ändern von Einstellungen senden, könnten wir auch einfache HTML-Tags verwenden. Wenn Sie mit ID-Schlüsseln arbeiten, beginnt die direkte Einführung von JavaScript-Code in der Mail, aber die Entwickler von Mail-Servern überlappen diese Möglichkeit mit Filtern. über sie wurde es oben gesprochen. Sprechen wir nun über Möglichkeiten, diese Filter zu verkaufen. Profitieren Sie von nicht ganz den üblichen Methoden, die Programmierer oft übersehen:



Tatsächlich "verbirgt" JS hier die Werte der Attribute von Tags, die mit der URL arbeiten, und wird auch dynamisch erzeugt, wenn die angegebene Adresse geladen wird.

Manchmal ist es dem Filter erlaubt zu schummeln, was das System vor bösartigem HTML ein wenig versteckt, so dass es auf www.mail.ru in jedem Tag möglich ist, den JS Event-Handler zu implementieren. Im nominellen Modus die Zeichenfolge



Wenn Sie jedoch den Abstand zwischen dem Wert des Attributs und dem Handler entfernen, überspringt der Filter eine solche Konstruktion:



Der Fehler dieser Methode besteht darin, dass es zu einem gewissen Grad eine Bindung an einen bestimmten Browser gibt, da es manchmal für sie ungewöhnlich ist, den HTML-Code anders zu interpretieren.
Der nächste wichtige Punkt ist, wie man den Brief sendet. Wenn Sie eine HTML-Datei anhängen, bleibt die Integrität der Nachricht im Anhang erhalten, aber im Nachrichtentext werden die gewünschten Parameter nicht angezeigt. Daher ist es sinnvoll im HTML-Format zu senden. Diese Funktion wird von einigen WWW-Schnittstellen auch von Mail-Programmen POP3 unterstützt. Im Nachrichtenmanager bewegt sich das Symbol der angehängten Datei nicht in der Nähe der Nachricht.

SCHLUSSFOLGERUNGEN

Nachdem Sie sich das Ziel gesetzt haben, in eine fremde Mailbox einzudringen, müssen Sie zunächst das System auf Schwachstellen untersuchen. Manchmal erlauben Programmierer signifikante Fehler beim Schreiben von Skripten. Ungefähr jeder Dienst hat die Funktion, vergessene Passwörter zu erneuern. In der Regel auf der ersten Seite geben Sie eine Anmeldung ein, für einen anderen Einspruch gegen eine geheime Aufgabe, aber auf der dritten Seite, wenn die Antwort richtig ist - ändern Sie das Passwort. Nehmen wir an, dass das uns interessierende System eine ernsthafte Sicherheitslücke ist, aber genau: Wir haben eine geheime Aufgabe richtig beantwortet, eine neue Seite mit einem Passwortänderungsformular wurde generiert, aber als wir uns den HTML-Code dieser Seite angesehen haben, haben wir festgestellt, dass die Erkennung nur auf einer Variablen im Feld stattfindet "Benutzername", nämlich Ersetzen eines anderen Benutzernamens, Ändern des Passworts in der Box eines anderen. Entweder eine solche Variation: Gegen einen korrekten Einwand wird eine Kennung ausgegeben, die derjenigen ähnlich ist, die während der Arbeitssitzung mit der Post verwendet wird. Vielleicht hat der Server, nachdem er den aktuellen ID-Schlüssel erhalten hat, indem er versteckte Felder ersetzt, die neuen Einstellungen akzeptiert. Ich halte es für absurd, von solchen Versäumnissen in Versuchung geführt zu werden, weil dies genau befolgt wird und ähnliche Fehler nicht wiederholt werden. Daher werden wir nach Schwachstellen im Prinzip der Serviceorganisation suchen.

Wenn Sie sich die Web-Mail unter www.newmail.ru (nm.ru, pochta.ru, orc.ru, nightmail.ru, hotmail.ru) anschauen , so gibt es solche Unzulänglichkeiten dort einmal. Wenden wir uns noch einmal der Option zu, das Passwort zu erneuern. Es wird empfohlen, die geheime Aufgabe zu beantworten, auch wenn die Antwort fehlerfrei ist - das Passwort wird an die in den Einstellungen angegebene E-Mail gesendet. Und obwohl die Antwort auch E-Mail auf verschiedenen Seiten innerhalb der Mail ist, scheint es möglich, auch die anderen zu ändern, je mehr der Filter nicht sogar JavaScript ausschneidet. Zusätzlich zu allen, wenn das Passwort wieder aufgenommen wird, wird ein weiteres Formular ausgegeben, es muss eingegeben werden, da mehr Daten erlaubt sind (sie sind so gut in den Box-Einstellungen) und senden Sie es an das Lineal. Wie man Daten dem richtigen Benutzer vorweist, ist bereits bekannt.

Natürlich ist bei den meisten Postangestellten alles blockiert, aber immer gibt es Schlupflöcher. Und wenn ein großes Interesse oder Bedürfnis nach Penetration in die Box besteht, wenn wir mehr Informationen darüber erhalten und aus den in diesem Artikel vorgestellten Methoden eine Art "strategisches" Schema entwickeln, können wir gute Ergebnisse erzielen.
Hier sind echte Beispiele. Ein Angreifer möchte ein Passwort von einem bestimmten Dienst erhalten, den das "Opfer" verwendet (nicht unbedingt ein Mail-Dienst, zum Beispiel Hosting). Gleichzeitig weiß er zuverlässig, dass das vergessene Passwort an user@pisem.net gesendet wird. Er sendet eine Nachricht an diese Segens-Box mit html-tags:





Nachdem der Account gelöscht wurde, registriert er einen neuen Account, mit dem er auch ein Passwort erhält.

Die Möglichkeit, mit einem so guten Zweck auch auf das Konto von mail.ru einzudringen, ist erhalten geblieben. Sicherheitseinstellungen mit einer Nachricht aufheben



Jetzt erhält der Benutzer bei jedem weiteren Anruf einen ID-Schlüssel, und die IP-Adresse wird nicht berücksichtigt. Wie bereits besprochen, ist es jedoch nicht schwierig, wenn Sie ihn mit einem Sniffer abfangen, den erforderlichen Brief zu lesen.

Zusammenfassend möchte ich noch einmal feststellen, dass die hier präsentierten Informationen den mehr oder weniger gebildeten Nutzern seit langem bekannt sind, und all die guten Ansätze, die Box über HTML zu hacken, entfremden meiner Meinung nach auch heute mehr Ergebnisse als BrutFors oder Social Engineering. Sie müssen nur ein schwaches Zimmer finden und auch eine Möglichkeit, es zu benutzen.