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 längst erfahrenen Benutzern bekannt sind, werden Schwachstellen beseitigt, die eine hundertprozentige Hacker-Garantie erlauben. Sie richtet sich vor allem darauf, die Anfänger mit den Prinzipien der Webmail-Arbeit (und deren Sicherheitslücken) vertraut zu machen.

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

Passwort ändern
Geben Sie 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 Serverskript , das die Werte pass1, pass2 (Passwort mit Bestätigung), sowie username (den Inhalt des versteckten Feldes, das anzeigt, in welchem ​​Feld das Passwort geändert wird)
Wenn Sie die entsprechende GET-Anfrage generieren, wird die folgende Zeile gesendet:
http://po4ta.ru/change_pass.php?username=test&pass1=NEW_PASSWORD&pass2 = NEW_PASSWORD

Fügen Sie nun diesen Link in die Adressleiste des aktuellen Fensters unseres Browsers ein und senden Sie die Daten auch an den Server. Als Ergebnis erhalten wir eine Benachrichtigung, dass das Passwort in der Box test@po4ta.ru erfolgreich geändert wurde. Und was, wenn wir versuchen, den Wert der Nutzervariablen zu schmieden und auch das Passwort in 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 gibt uns wahrscheinlich eine Nachricht wie "Sie haben Zugriff auf Ressourcen, die Authentifizierung erfordern", ebenfalls TP. Dies bedeutet, dass change_pass.php , die die Anforderungen verarbeitet, festgestellt hat, dass die auf der Festplatte der Quelle der Arbeitssitzung mit der Mail auf unsere Festplatte geschriebenen Cookies dem Benutzer test@po4ta.ru entsprechen , aber in keiner Weise user@po4ta.ru . Zusätzlich zu Cookies kann die Benutzeridentifikation durch IP-Adresse oder einen speziellen ID-Schlüssel erfolgen, der später beschrieben wird.

Der Benutzer ist also gezwungen, die Anfrage selbst aus dem Feld user@po4ta.ru zu senden. "Erzwinge" den Benutzer dazu, du kannst ihm eine Nachricht mit dem JavaScript-Code senden, wenn du erfährst, welche Daten automatisch mit seiner IP-Adresse an den Server gesendet werden. Beispiele für diesen Code sind:

Oder durch die POST-Methode:

Alle Variablen werden in ausgeblendeten Feldern gesetzt, auch wenn der Benutzer den Mauszeiger über dem Textkörper des Briefes bewegt, aktualisiert der OnMouseOver-Ereignishandler die Daten. Sie können den Prozess der Änderung des Passworts vollständig ausblenden, indem Sie den Code aktualisieren:



NACHRICHT TEXT


Eine Tabelle mit der Größe 1000x1000 erweitert den Gültigkeitsbereich des OnMouseOver-Handlers. Das Zielattribut des Formular-Tags lädt jedoch das Ergebnis der Abfrage in den ZeroFrame-Nullframe. Jetzt ist der Prozess vollständig vor dem Auge des Benutzers verborgen.


Vielleicht hat der Hauptmailserver so mit der ersten WWW-Schnittstelle gearbeitet. Gegenwärtig ist es unmöglich, auf diese Weise eine Seifenpause zu machen. Zunächst wird auf den meisten Servern bei der Änderung des Passworts, zusammen mit einem neuen, vorgeschlagen, das alte Passwort einzugeben. Zweitens ist es schwierig, einen Mailserver zu finden, mit dem Sie JavaScript auch in angehängten Dateien ausführen können.

Post-Filter

Dies sind Programme, die sich auf dem Server befinden, sie bearbeiten eingehende Nachrichten, schneiden oder ändern den Code, der die potenzielle Gefahr in ihnen enthält. So, zum Beispiel Skript, könnte die Filterung später Xscript oder scripX aussehen. Das gesamte im Skriptcontainer gefundene Programm wird in diesem Fall nicht vom Browser interpretiert, wie wir es geplant haben. Die Bypass-Filterung ist erlaubt oder es wird nach dokumentierten Wegen zur Implementierung unseres Codes gesucht, die von den Entwicklern des Postsystems nicht berücksichtigt werden, oder indem der Code versteckt wird und der Code in einem modernisierten, für die Filterform nicht erkannten Code verzehrt wird.
Lassen Sie uns andere Möglichkeiten zur Erfüllung der im vorherigen Beispiel angegebenen Abfrage berücksichtigen.


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



Anstatt 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 zu den meisten Servern. Aber auf einigen, um die Probe www.rambler.ru , URL-Upload wird durch eine spezielle Anwendung umgeleitet / http: //po4ta.ru/change_pass.php? Benutzername = Benutzer & pass1 = NEW_PASSWORD & pass2 = NEW_PAROLE




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

Weitere Schwachstellen

Neben den Einstellungen für Postfächer auf verschiedenen Seifen-Servern können Sie nicht nur das Passwort ohne Bestätigung ändern, sondern auch viele grundlegendere Nachteile finden, mit denen es möglich ist, die Box einer anderen Person in Besitz zu nehmen, Nachrichten zu lesen oder zu löschen. Kehren wir zu unserem Post auf www.po4ta.ru zurück . Wir erhalten die Option "Weiterleiten" . Wir müssen eine oder mehrere Adressen eingeben, an die Briefe geschickt werden.



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



Damit die Änderungen wirksam werden, müssen Sie einen Bestätigungscode eingeben, der durch eine Nachricht an test1@po4ta.ru gesendet wird . So können wir die gesamte eingehende Korrespondenz des interessierenden Benutzers an uns abwickeln, wenn wir ihm abwechselnd ein Paar HTML-Briefe senden, von denen die eine eine Art Weiterleitungseinstellung ist, in der anderen jedoch eine Bestätigung mit einem uns bekannten speziellen Code. Dieses Schema des Zuhörens auf das Postfach eines anderen Benutzers ist etwas umständlich, aber viele Versionen des Postdienstes, die kein Passwort erfordern, um die Nachrichtenumleitung einzurichten, wurden beibehalten.

Die nächste wesentliche Lücke in der Sicherheitspolitik der Postdienste ist die Änderung der geheimen Aufgabe sowie Einwände, wenn diese Operation nicht durch eine Passwortbestätigung geschützt ist. Wir können den Benutzer von seinem Postfach abschneiden, indem wir die Daten aktualisieren, die uns bereits bekannt sind, aber dann mit dem Passworterinnerungsdienst Ihr Passwort festlegen.

Häufiger, nur durch Drücken einer Taste, wird bei einigen Mailern das Benutzerkonto gelöscht. Ein typisches Beispiel ist www.yandex.ru . Das Kennwort wird zum Löschen der Box benötigt, aber das Passwort ist nicht erforderlich, um den konjugierten Dienst zu löschen - die Site * .narod.ru. Elementary ist es erlaubt, die Site des "Opfers" unter Verwendung seines Postfachs zu löschen, indem er die Anfrage ausführt: http://narod.yandex.ru/registration/unlogin.xhtml?DeleteLogin=%C4%E0 , die sich im IMG-Tag verbergen 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 Daten bearbeiten (Name usw.)
Kontaktdaten bearbeiten
Filter installieren
Löschen Sie den Ordner XXXX
E-Mail als Benutzer senden
POP3-Collector installieren

ID-KEY

In der Quelle des Artikels haben wir reserviert, dass in einigen Fällen eine symbolische Kennung verwendet wird, wenn es möglich ist, mit der Mail zu arbeiten, ist es erlaubt, in der Adressleiste des Browsers zuzusehen:



Die Einführung eines solchen Systems erlaubt es uns sowieso nicht, eine Standardabfrage auszuführen, da die ID bei jedem neuen Eintrag in der Mailbox erzeugt wird und später, wenn die Arbeitssitzung beendet ist, durch Drücken der "Exit" -Taste zerstört wird. Wenn die Sitzung jedoch nicht ordnungsgemäß endet, können Sie die Kennung 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 wieder in unserer Box. Wenn der IP-Schlüssel nicht auf eine IP-Adresse abgebildet ist (eine andere Art von Schutz), kann er auch den Sarg eines anderen Benutzers durchdringen. Dazu genügt es, das Standortfeld abzufangen, indem die Tags, die eine Anfrage an den HTML- , protokolliert wiederum die HTTP_REFERER- Variable in einer speziellen Datei. Der genialste Weg ist wie immer, die Adresse des Sniffer als Gegenleistung für das angebliche Bild anzugeben:



Protokolldatei - http://zero.h12.ru/stat/base.txt
Einige weitere Adressen, die Sniffer auf dieser Seite essen. In der Klasse selbst ist es viel schwieriger, Hosting für das Hosting zu finden, wenn ein Skript geschrieben wird, das von einer Adresse, an die eine Anfrage gesendet wird, eine fünfminütige Sitzung abruft. Ein Beispiel für ein solches Skript auf php:



Als nächstes betrachten wir die Situation, zu welcher Zeit eine fremde ID für uns unbrauchbar ist, weil sie in Übereinstimmung mit der IP-Adresse des Benutzers gesetzt wird. Kehren wir zum System zurück, zu welcher Zeit der Benutzer selbst mit seiner IP die Einstellungen der Box ändert und unseren Brief öffnet. Nehmen wir an, wir essen diese Option. Sperren Sie alle eingehenden E-Mails , und wir möchten sie auch in die Box von jemandem aufnehmen.



Die Kennung wird im versteckten Feld "id" übertragen, also müssen Sie jetzt, um die Einstellungen zu ändern, diese auch in Echtzeit abrufen. Das erste, was mir einfällt, ist JavaScript. Um ein spezialisiertes Standortobjekt zu essen, enthält es auch die URL des aktiven Aktes. Verwenden Sie die substr () -Funktion, um unsere Kennung aus dem Standortfeld abzurufen .



Direkt substr () mit Ort funktioniert nicht, also fügen wir ihm das Symbol # hinzu, ordnen es einer Variablen zu, aber dann geben wir 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 die Kennung von der 36. Position und hat auch 32 Symbole, daher haben die Argumente die Form substr (36, 32);

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




Noch einmal über Filter

Wenn im Web Schnittstellen zur Cookie-Authentifizierung gesendet werden, die Standardanforderungen für das Ändern von Einstellungen gesendet haben, können wir auch einfache HTML-Tags verwenden. Wenn Sie mit ID-Schlüsseln arbeiten, beginnt die direkte Notwendigkeit, JavaScript- Code einzuführen, aber die Entwickler von Mailservern überschneiden diese Möglichkeit mit Filtern, über sie wurde oben gesprochen. Lassen Sie uns nun über Möglichkeiten sprechen, diese Filter zu verkaufen. Nutzen Sie nicht die üblichen Methoden, die Programmierer häufig übersehen:



Tatsächlich versteckt JS hier die Werte der Attribute von Tags, die mit der URL arbeiten und wird dynamisch generiert, wenn die angegebene Adresse geladen wird.

Manchmal kann der Filter betrügen und das System vor bösartigen HTML versteckt werden. Auf www.mail.ru kann also innerhalb eines beliebigen Tags der JS-Event-Handler implementiert werden. Im nominalen Modus wird der String



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



Der Fehler dieser Methode besteht darin, dass in gewissem Maße eine Bindung an einen bestimmten Browser besteht, weil es manchmal ihnen eigen ist, den HTML-Code anders zu interpretieren.
Der nächste wichtige Punkt ist, wie Sie den Brief senden. Wenn Sie eine HTML-Datei anhängen, verbleibt die Integrität der Nachricht im Anhang. Im Nachrichtentext werden die erforderlichen Parameter jedoch nicht angezeigt. Daher ist es sinnvoll im HTML-Format zu versenden. Diese Funktion wird von einigen WWW-Schnittstellen auch von Mailprogrammen POP3 unterstützt. Im Nachricht-Manager wird das Symbol der angehängten Datei nicht in der Nähe der Nachricht verschoben.

SCHLUSSFOLGERUNG ERGEBNISSE

Nachdem Sie das Ziel gesetzt haben, in ein Alien-Postfach 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. Normalerweise auf der ersten Seite geben Sie einen Login ein, für einen anderen Einwand gegen eine geheime Aufgabe, aber auf der dritten, wenn die Antwort richtig ist - ändern Sie das Passwort. Zum Beispiel haben wir ein ernsthaftes Sicherheitsloch in dem interessierenden System, aber es ist genau das: Wir haben richtig auf eine geheime Aufgabe geantwortet, eine neue Seite mit einem Formular zum Ändern des Passworts wurde generiert, aber als wir uns den HTML-Code dieser Seite angesehen haben, "Benutzername", nämlich Ersetzen eines anderen Benutzernamens, Ändern des Passworts in einer anderen Box. Entweder eine solche Änderung: Im Gegenzug für einen korrekten Einwand wird eine Kennung ähnlich der während der Arbeitssitzung mit der Post verwendeten ausgegeben. Der Server akzeptiert die neuen Einstellungen möglicherweise, indem er den aktuellen ID-Schlüssel auch durch Ersetzen in versteckte Felder erhalten hat. Ich halte es für absurd, von solchen Auslassungen versucht zu werden, weil dies genau befolgt wird und ähnliche Fehler nicht wiederholt werden. Deshalb werden wir nach dem Grundsatz der Serviceorganisation nach Schwachstellen suchen.

Wenn Sie auf die Web-Mail unter www.newmail.ru (nm.ru, pochta.ru, orc.ru, nightmail.ru, hotmail.ru) schauen , dann gibt es solche Mängel einmal dort. Kommen wir noch einmal zur Option, das Passwort zu erneuern. Es wird empfohlen, die geheime Aufgabe zu beantworten, auch wenn die Antwort fehlerfrei ist. Das Kennwort 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 andere zu ändern, je mehr der Filter JavaScript nicht einmal ausgeschnitten hat. Zusätzlich zu allen, wenn das Passwort fortgesetzt wird, wird ein weiteres Formular ausgegeben, das eingegeben werden muss, wenn mehr Daten erlaubt sind (sie sind in den Box-Einstellungen so gut) und senden Sie es an das Lineal. Wie dem Benutzer Daten vorab zugewiesen werden, ist bereits bekannt.

Natürlich ist bei den meisten Postangestellten alles blockiert, aber es gibt immer Schlupflöcher. Wenn es ein großes Interesse oder eine Notwendigkeit für die Durchdringung in die Benutzerbox gibt, können wir gute Ergebnisse erzielen, wenn wir mehr Informationen darüber erhalten und eine Art "strategisches" Schema aus den in diesem Artikel vorgestellten Methoden entwickeln.
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 Segenbox mit html-tags:





Nachdem das Konto gelöscht wurde, registriert es ein neues, wobei dieser Name auch ein Passwort dafür erhält.

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



Bei jedem nachfolgenden Aufruf erhält der Benutzer jedoch einen ID-Schlüssel und die IP-Adresse wird jedoch nicht berücksichtigt, wie bereits erwähnt, wenn Sie ihn mit einem Sniffer abfangen, ist es nicht schwer, drinnen zu sein, um den notwendigen Buchstaben zu lesen.

Abschließend möchte ich noch einmal festhalten, dass die hier vorgestellten Informationen längst mehr oder weniger gebildeten Benutzern bekannt sind und alle guten Ansätze, die Box durch HTML zu hacken, meiner Meinung nach auch heute mehr Ergebnisse als BrutFors oder Social Engineering entfremden. Du brauchst nur einen schwachen Raum zu finden und auch eine Möglichkeit, ihn zu benutzen.