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

WWW E-MAIL-SCHNITTSTELLE

Da die in diesem Artikel behandelten Methoden erfahrenen Benutzern bereits seit langem bekannt sind, werden die Schwachstellen, mit denen Sie mit absoluter Garantie vollständig durchbrechen können, an allen Stellen beseitigt. Sie zielen vor allem darauf ab, Anfängern die Prinzipien der Web-Mail-Arbeit (und ihre Sicherheitslücken) vorzustellen.

Stellen Sie sich vor, nach welchem ​​Prinzip die Mailbox über WWW gehackt wird. Wir besitzen den Server www.po4ta.ru und müssen das Postfach user@po4ta.ru durchdringen . Wir registrieren ein Konto auf diesem Bla-Bla-Server test@po4ta.ru. Auch die Hauptbeschäftigung, mit der wir uns in den Einstellungen unserer neu erstellten Mailbox beschäftigen. Das größte Interesse für uns ist die Option "Passwort ändern" , an der vorgeschlagen wird, das neue Passwort einzugeben, zu bestätigen und die Daten zu senden.

Passwort ändern
Neues Passwort eingeben:
Eingabe wiederholen:


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

Hier ist change_pass.php ein serverseitiges Skript, das die Werte pass1, pass2 (Kennwort mit Bestätigung) und Benutzername (den Inhalt eines ausgeblendeten Felds, das angibt, in welcher Box das Kennwort geändert wird) akzeptiert.
Wenn wir eine entsprechende GET-Anfrage erstellen, wird die folgende Zeile empfangen:
http://po4ta.ru/change_pass.php?username=test&pass1=NEW_PASSWORK_passpass==NEW_PASSWORD

Nun fügen wir diesen Link in die Adressleiste des aktuellen Fensters unseres Browsers ein und senden 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 ist, wenn Sie versuchen, den Wert der Benutzernamenvariablen zu fälschen und auch das Kennwort für das Postfach zu ändern, das uns interessiert? Wir senden:
http://po4ta.ru/change_pass.php?username= user & pass1 = NEW_PASSWORD & pass2 = NEW_PASSWORD
Der Server gibt uns wahrscheinlich eine Nachricht wie "Sie haben Zugriff auf Ressourcen, die eine Autorisierung erfordern" und auch TP. Dies bedeutet, dass mit change_pass.php , das Anforderungen verarbeitet, festgestellt wurde, dass die Cookies, die in der Quelle der Arbeitssitzung mit der E-Mail auf unsere Festplatte geschrieben wurden, dem Benutzer test@po4ta.ru entsprechen , jedoch keinesfalls user@po4ta.ru . Neben Cookies kann die Benutzeridentifikation anhand der IP-Adresse oder eines speziellen ID-Schlüssels erfolgen, auf den später noch eingegangen wird.

Der Benutzer wird also gezwungen, die Anfrage selbst aus der Box user@po4ta.ru zu senden. Sie können den Benutzer dazu „zwingen“, indem Sie ihm eine Nachricht mit JavaScript-Code senden, bei der die Daten automatisch mit IP und Cookies an den Server gesendet werden. Beispiele für solchen Code:

Oder mit der POST-Methode:

Alle Variablen werden in ausgeblendeten Feldern festgelegt. Wenn der Benutzer den Mauszeiger über den Buchstaben unseres Briefs bewegt, werden die Daten vom OnMouseOver-Ereignishandler aktualisiert. Sie können den Vorgang des Änderns des Kennworts vollständig ausblenden, indem Sie den Code aktualisieren:



TEXTMELDUNG


Die 1000x1000-Tabelle erweitert den Bereich des onMouseOver-Handlers, das Zielattribut des Formular-Tags lädt jedoch das Ergebnis der Abfrage in den ZeroFrame-Frame. Jetzt ist der Prozess für den Benutzer vollständig verborgen.


Vielleicht funktionierte der Haupt-Mail-Server mit der ersten WWW-Schnittstelle. Derzeit ist es unmöglich, die Seife auf diese Weise zu zerbrechen. Erstens wird auf den meisten Servern beim Ändern eines Kennworts zusammen mit einem neuen vorgeschlagen, ein altes Kennwort einzugeben. Zweitens ist es schwierig, einen Mail-Server zu finden, der es Ihnen ermöglicht, JavaScript auch in Briefen von angehängten Dateien auszuführen.

Nachfilter

Hierbei handelt es sich um Programme, die sich auf dem Server befinden. Sie verarbeiten eingehende E-Mails, indem sie Code ausschließen oder ändern, der eine potenzielle Gefahr enthält. So kann zum Beispiel das Filtern wie Xscript oder scripX aussehen. In diesem Fall wird das gesamte Programm, das sich im Skriptcontainer befindet, vom Browser nicht wie geplant interpretiert. Es ist zulässig, Filter mit Schutz zu umgehen, indem entweder nach dokumentierten Methoden zur Einführung unseres Codes gesucht wird, die von den Mailer-Entwicklern nicht berücksichtigt werden, oder indem der Filter ausgeblendet wird. Anschließend wird der Code in einem modernisierten, für das Filterformular nicht erkannten Code verschickt.
Ziehen Sie andere Methoden zum Ausführen der Abfrage im vorherigen Beispiel in Betracht.


Das Ergebnis einer Einstellungsänderung wird in einen unsichtbaren Rahmen geladen. Ein effektiver Weg, der aber in den meisten Mail-Diensten bereits abgedeckt ist.



Anstelle der Adresse des Bildes wird die Adresse der Einstellung mit Änderung des Passworts geladen. Es funktioniert nicht, wenn der Benutzer Grafiken in seinem Browser deaktiviert. Es funktioniert auf den meisten Servern ordnungsgemäß. Bei einigen, zum Beispiel www.rambler.ru , wird die URL über eine spezielle Anwendung redirect / http: //po4ta.ru/change_pass.php? Username = user & pass1 = NEW_PASSWARE & pass2 = NEW_PASS geladen




Die angegebene URL wird nach Ablauf der Poren X (s) geladen. Dieser Tag funktioniert derzeit auf www.hotbox.ru

Andere Schwachstellen

Untersuchen der Postfacheinstellungen auf verschiedenen Seifenservern. Zusätzlich zum Ändern des Kennworts ohne Bestätigung können viele weitere grundlegende Fehler gefunden werden, die zum Übernehmen der Box einer anderen Person, zum Lesen oder Löschen von Nachrichten usw. verwendet werden können. Kehren wir zu unserer Mail auf www.po4ta.ru zurück . Wir erhalten die Option "Weiterleitung" . Wir werden aufgefordert, eine oder mehrere Adressen einzugeben, an die Briefe gesendet werden.



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



Damit die Änderungen wirksam werden, muss ein Bestätigungscode eingegeben werden, der von einer Nachricht an test1@po4ta.ru gesendet wird . So können wir die gesamte eingehende Korrespondenz des Benutzers, an dem wir interessiert sind, erfassen, wenn wir ihm ein paar HTML-Briefe senden, von denen der Haupt die Art der Übertragungseinstellungen enthält. Der andere ist eine Bestätigung mit einem uns bekannten speziellen Code. Ein solches Schema zum "Abhören" der Mailbox eines anderen Benutzers ist etwas umständlich, aber es gibt immer noch einige Versionen von Mailern, die kein Kennwort zum Einstellen der Umleitung von Briefen verlangen.

Die nächste bedeutende Lücke in der Sicherheitspolitik von Postdiensten besteht in der Änderung der geheimen Aufgabe und der Einwände, wenn diese Operation nicht durch ein Kennwort geschützt ist. Wir können den Benutzer von seiner Mailbox trennen, indem wir die bereits bekannten Methoden aktualisieren und dann das Passwort-Erinnerungsservice verwenden, um Ihr Passwort festzulegen.

Bei einigen Mailern wird das Benutzerkonto öfter mit nur einem Klick auf eine Schaltfläche gelöscht. Ein typisches Beispiel ist www.yandex.ru . Für das Entfernen der Box wird ein Kennwort angefordert, für das Entfernen des zugehörigen Dienstes - das Site * .narod.ru - ist jedoch kein Kennwort erforderlich. Grundsätzlich ist es erlaubt, die Site des "Opfers" mithilfe seines Postfachs zu löschen, indem die folgende Abfrage ausgeführt wird: http://narod.yandex.ru/registration/unlogin.xhtml?DeleteLogin=%C4%E0 , die im IMG-Tag ausgeblendet werden darf.

Nicht autorisierte Änderungen an anderen Einstellungen können, obwohl sie auch ein wesentlich geringeres Risiko darstellen, die Belegung der Mailbox indirekt beeinflussen.
Persönliche Daten ändern (Name auch etc.)
Kontaktinformationen ändern
Filter einstellen
XXXX-Ordner löschen
E-Mail als Benutzer senden
Installieren Sie den POP3-Picker

ID KEY

Als Quelle des Artikels haben wir reserviert, dass in einigen Fällen ein symbolischer Bezeichner verwendet wird, der bei der Arbeit mit E-Mail in der Adressleiste des Browsers beobachtet werden darf:



Die Einführung eines solchen Systems erlaubt es uns nicht, eine Standardanforderung in irgendeiner Weise auszuführen, da die ID bei jedem neuen Eintrag in der Mailbox generiert wird und nach Beendigung der Arbeitssitzung auch durch Drücken der Schaltfläche "Beenden" zerstört wird. Wenn die Sitzung jedoch nicht ordnungsgemäß beendet wird, kann der Bezeichner wiederverwendet werden.
Sie können dies 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 waren wieder in unserer Mailbox. Wenn der ID-Schlüssel nicht mit der IP-Adresse (einer anderen Schutzart) übereinstimmt, ist es ebenfalls zulässig, die Box eines anderen Benutzers zu durchdringen. Es reicht aus, das Ortsfeld abzufangen, indem Tags in unsere Nachricht eingebettet werden, die eine Anfrage an den HTML-Sniffer senden Protokolliert die Variable HTTP_REFERER wiederum in einer speziellen Datei. Am einfachsten ist es, wie üblich, die Adresse des Sniffers anstelle des beabsichtigten Bildes anzugeben:



Protokolldatei - http://zero.h12.ru/stat/base.txt
Ein paar weitere Adressen, die auf dieser Seite snifferov essen. Gerade in dieser Stunde ist es viel schwieriger, ein Hosting für das Hosting zu finden, wenn Sie ein Skript schreiben, in dem die Adresse erfasst wird, an die eine Anfrage gesendet wird (fünf Minuten). Ein Beispiel für ein solches Skript in PHP:



Als nächstes betrachten wir die Situation, in der die Alien-ID für uns unbrauchbar ist, da ihr die IP-Adresse des Benutzers zugewiesen wird. Kehren wir zum System zurück, zu welcher Zeit der Benutzer selbst mit seiner IP die Einstellungen der Box ändert, indem er unseren Brief öffnet. Angenommen, Sie essen diese Option. Blockieren Sie alle eingehenden E-Mails . Wir möchten sie auch in die Box einer anderen Person aufnehmen.



Die Kennung wird in einem versteckten "id" -Feld übertragen. Um die Einstellungen zu ändern, müssen Sie sie jetzt auch in Echtzeit abrufen. Das erste, was auf Head-Javascript zurückgreift. Es hat ein spezialisiertes Location- Objekt und enthält auch die URL des aktiven Vorgangs. Um unsere Kennung aus dem Standortfeld zu erhalten, verwenden wir die Funktion substr () .



Direkt funktioniert substr () in keiner Weise mit location, also fügen wir das Symbol # hinzu, ordnen es einer Variablen zu, geben dann das Ergebnis der Berechnung in eine andere Variable ein und fressen dann den ausgeschnittenen ID-Schlüssel. Argumente substr (): x-Position vom Zeilenanfang, x1-Position von x. In der Zeile http://www.newpochta.ru/session?id=a349f8d7be67c90af8873fc7ad803cf5&folder=inbox beginnt der Bezeichner an der 36. Stelle und besitzt 32 Zeichen. Die Argumente haben daher die Form substr (36, 32).

Eine andere Möglichkeit, eine ID zu erhalten, besteht darin, das Skript erneut auf Ihrem Host zu verwenden. Registrieren Sie sich in der gesendeten Datei:




EINMAL WIEDER ÜBER FILTER

Wenn bei Webschnittstellen mit Cookie-Identifizierung Standardanfragen zum Ändern von Einstellungen gesendet wurden, könnten wir auch einfache HTML-Tags verwenden. Wenn Sie mit ID-Schlüsseln arbeiten, müssen Sie JavaScript-Code direkt in einen Buchstaben einbetten. Mail-Server-Entwickler blockieren diese Möglichkeit jedoch mit Filtern über sie oben erwähnt. Lassen Sie uns nun darüber sprechen, wie Sie diese Filter verkaufen können. Nutzen Sie nicht ganz die üblichen Methoden, die Programmierer oft übersehen:



Tatsächlich ist der JS hier in den Attributwerten von Tags "verborgen", die mit der URL arbeiten, und wird auch dynamisch generiert, wenn die angegebene Adresse geladen wird.

Manchmal darf der Filter ausgetrickst werden , wodurch das System ein wenig vor böswilliger HTML- Datei versteckt wird. Auf www.mail.ru kann daher in jedes Tag der JS-Ereignishandler eingefügt werden. In der nominellen Moduszeichenfolge



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



Der Fehler auf diese Weise ist, dass zu einem gewissen Grad eine Bindung an einen bestimmten Browser besteht, da sie HTML-Code manchmal auf unterschiedliche Weise interpretieren.
Der nächste wichtige Punkt ist, wie Sie den Brief versenden. Wenn Sie eine HTML-Datei anhängen, bleibt die Integrität der Nachricht in der Anlage erhalten, die erforderlichen Parameter werden jedoch nicht im Nachrichtentext angezeigt. Daher ist es ratsam, im HTML-Format zu senden. Diese Funktion wird von einigen WWW-Schnittstellen und POP3-Mail-Programmen unterstützt. Im Nachrichtenmanager wird das Symbol der angehängten Datei neben der Nachricht nicht verschoben.

SUMMING UP

Nachdem Sie sich vorgenommen haben, in ein außerirdisches Postfach zu gelangen, müssen Sie zunächst das System auf Schwachstellen untersuchen. Manchmal erlauben Programmierer erhebliche Fehler beim Schreiben von Skripten. Ungefähr jeder Dienst besitzt die Funktion, vergessene Kennwörter wiederherzustellen. Normalerweise wird auf der ersten Seite ein Login eingegeben, auf der anderen Seite ein Einspruch gegen eine geheime Aufgabe, auf der dritten Seite jedoch, falls die Antwort korrekt ist, eine Änderung des Passworts. Angenommen, es liegt ein schwerwiegender Sicherheitsverstoß in dem System vor, das uns interessiert, aber genau: Wir haben die geheime Aufgabe richtig beantwortet, wir haben auch eine neue Seite mit einem Kennwortänderungsformular generiert. Wenn wir jedoch den HTML-Code dieser Seite betrachten, stellen wir fest, dass der Benutzer nur die Variable im Feld erkennt "Benutzername", dh, indem Sie einen anderen Benutzernamen verwenden, ändern Sie das Kennwort in einer fremden Box. Oder eine solche Variante: Im Gegenzug für einen gültigen Einwand wird eine Kennung ausgegeben, die der in einer Arbeitssitzung mit Mail verwendeten ähnlich ist. Nachdem der aktuelle ID-Schlüssel auch in den verborgenen Feldern verwendet wurde, akzeptiert der Server die neuen Einstellungen. Auf solche Auslassungen zu hoffen, ist meiner Meinung nach absurd, denn es wird strengstens beachtet, dass solche Fehler nicht wiederholt werden. Daher werden wir nach Schwachstellen im Prinzip der Serviceorganisation suchen.

Wenn Sie sich die Web-Mail auf www.newmail.ru (nm.ru, pochta.ru, orc.ru, nightmail.ru, hotmail.ru) ansehen , gibt es einmal solche Nachteile. Beziehen Sie sich erneut auf die Kennwortwiederherstellungsoption. Es wird vorgeschlagen, 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 darin besteht, dass sich die E-Mails auf verschiedenen Seiten innerhalb der E-Mail befinden, scheint es auch möglich, etwas anderes zu ändern, zumal der Filter JavaScript nicht einmal ausschneidet. Wenn Sie ein Kennwort erneuern, wird zusätzlich zu allem ein weiteres Formular angezeigt. Sie müssen weitere Daten eingeben (wie in den Mailbox-Einstellungen) und diese an das Lineal senden. Wie man dem gewünschten Benutzer irgendwelche Daten vorbelegt, ist bereits bekannt.

Natürlich ist bei der Mehrheit der Postangestellten alles geschlossen, aber es gibt immer eine Lücke zu essen. Wenn ein großes Interesse oder eine Notwendigkeit besteht, in die Box des Benutzers einzudringen, mehr Informationen darüber erhalten und eine Art "strategisches" Schema aus den in diesem Artikel vorgestellten Methoden entwickelt haben, können gute Ergebnisse erzielt werden.
Hier sind echte Beispiele. Der Angreifer möchte ein Kennwort von einem bestimmten Dienst erhalten, den das Opfer verwendet (nicht unbedingt einen Mail-Dienst, beispielsweise einen Hosting-Dienst). Gleichzeitig weiß er zuverlässig, dass das vergessene Passwort an user@pisem.net gesendet wird. Er sendet eine Nachricht mit HTML-Tags an diesen Blah-Blah:





Nachdem er den Account gelöscht hat, registriert er einen neuen, mit einem solchen Namen bekommt er auch ein Passwort.

Die Möglichkeit, mit so einem Blabla auch auf das Konto auf mail.ru einzudringen, ist geblieben . Setzen Sie in einer Nachricht die Sicherheitseinstellungen zurück



Теперь при каждом следующем заходе пользователю выдается ID-ключ, причем IP-адрес не учитывается, однако как уже было рассмотрено, ежели перехватить его с помощью сниффера, то несложно оказаться внутри также прочесть нужное письмо.

В заключение еще однажды отмечу, что информация, изложеная здесь, давным-давно известна более либо менее грамотным пользователям, также все бла бла подход ко взлому ящика чрез html, на мой взор также сегодня отчуждает больше результатов нежели БрутФорс либо социальная инженерия. Нужно всего лишь только найти слабое помещение а также способ воспользоваться им.