it-swarm.com.de

Wie kann ich feststellen, ob eine Webanwendung mein Passwort im Klartext überträgt?

Ich versuche zu sehen, ob eine Webanwendung ein Passwort in irgendeiner Form von Klartext überträgt. Das Problem ist, dass die Web-App NICHT https verwendet! Aus diesem Grund frage ich mich, ob meine Passwörter im Klartext gesendet werden.

Ich habe in meinem Browser ein Cookie gefunden, das Folgendes enthält:

usr=waytodoor&mdp=3C5115ECB18725EBFFF4BB11F9D17798358477D6E11E0188D54BAB80C86D38D41A16F76D8D0B253445774484FB1AE22E9FC13E257CFB9E7B7466F1BA5417EA004FCBB4E7965CA571819146A148EED15A2AEA6E47D9DF338B534264FBC99A57952212629BA79BB34BE9C8C60B73F1F681EE872C64

Soweit ich das beurteilen kann, ist usr mein Benutzername und mdp ("mot de passe" auf Französisch bedeutet Passwort).

Ist das MDP-Feld des Cookies mein Passwort (und wenn ja, wie könnte ich es "entschlüsseln"?) Oder nur eine Art Token? Das Passwort ist 7 Zeichen lang.

Ich habe versucht, es von Hex oder von Basis 64 zu konvertieren, aber kein Glück.

EDIT: Enthaltene Anweisung, dass HTTPS nicht verwendet wird.

EDIT2: Die Website ist eine Webstite für Studenten. Passwörter werden von der Schule zu Beginn des Jahres vergeben. Wir können sie nicht ändern.

Ich vermute, dass einige Schüler das Schulnetzwerk ARP'ing. Ich versuche, die Verbindung so schnell wie möglich von der Website zu trennen, um die Cookies ungültig zu machen, aber ich wollte wissen, ob sie das Passwort aus dem Cookie finden können.

21
WayToDoor

Es gibt zwei Gründe zu fragen, ob Ihr Passwort verschlüsselt wird:

  1. Sie sind besorgt über die Sicherheit der Website.
  2. Sie sind besorgt über die Sicherheit Ihres Passworts.

In Bezug auf die Site-Sicherheit gibt es ohne HTTPS praktisch keine. Sie sollten jede Kommunikation mit der Site als öffentlich betrachten und davon ausgehen, dass ein Angreifer vorgeben kann, Sie zu sein. Verwenden Sie die Website nur mit Vorsicht.

In Bezug auf die Sicherheit Ihres Passworts ohne SSL spielt dies keine Rolle. Jemand kann Ihr Sitzungscookie stehlen und sich als Sie ausgeben, ohne Ihr Passwort zu kennen. Stellen Sie daher sicher, dass Sie das Kennwort auf anderen Websites nicht wiederverwenden (oder jemals ein Kennwort wiederverwenden), um zu verhindern, dass eine Kennwortbelichtung auf dieser Website Ihre Konten auf anderen Websites gefährdet.

Bearbeiten Als Antwort auf Ihre Besorgnis über ARP-Spoofing kann es ohne SSL möglich sein, dass sie ein MiTM . Sobald sie das tun, können sie den Cookie sehen. Ohne eine eingehendere Prüfung der Website kann ich Ihnen nicht sagen, ob der Cookie Ihr Passwort verliert. Vielleicht ist es sicher verschlüsselt, vielleicht auch nicht. Sobald sie jedoch über ein MiTM verfügen, können sie das an Ihren Browser gesendete JavaScript ändern. Dies würde es ihnen ermöglichen, zu ändern, was auf der Leitung gesendet wird, und dadurch Ihr Passwort zu erhalten. Und obwohl ich ohne weitere Prüfung nicht sicher sein kann, sieht dieser Cookie für mich aus wie ein Pass the Hash Vulnerability . Wenn dies der Fall ist, müssen sie Ihr Passwort nicht stehlen, da der Wert des Cookies so gut wie ein Passwort ist. All dies läuft darauf hinaus, dass es ohne SSL keine Sicherheit gibt.

35
Neil Smithline

Was Sie dort haben, sind 232 hexadezimale Ziffern oder 116 Datenbytes. Es ist keine einfache Textzeichenfolge in einer normalen Codierung. Es könnte ein Hash Ihres Passworts sein, es könnte Ihr Passwort verschlüsselt sein, es könnte nur eine Art leicht umkehrbare Verschleierung sein. Oder es könnte etwas völlig anderes sein als Ihr Passwort, wie eine Sitzungskennung. Es könnte alles sein. Ohne Ihr Passwort oder den Code zu kennen, den die Webanwendung verwendet, ist es schwer zu sagen.

Aber wenn Sie sich Sorgen um die Sicherheit Ihres Passworts machen wenn es auf dem Kabel ist, spielt es wirklich keine Rolle. Was zählt, ist, dass Sie HTTPS verwenden. * Wenn Sie HTTPS verwenden, wird alles, was zwischen Ihnen und dem Server gesendet wird, trotzdem verschlüsselt. Wenn Sie dies nicht tun, können Sie nicht garantieren, dass ein Mann in der Mitte Ihr Passwort nicht stehlen kann, unabhängig davon, welche Art von Verschlüsselung Sie auf dem Client durchführen möchten.

Normalerweise wird beim Senden eines Kennworts an den Server nur die von HTTPS bereitgestellte Verschlüsselung verwendet.

Trotzdem ist es eine schlechte Idee, das Passwort in einem Cookie zu behalten (ob im Klartext, verschlüsselt, gehasht oder nur verschleiert). Jeder, der Zugriff auf Ihren Computer hat, kann das Cookie stehlen. Wenn das Cookie nicht nur HTTP ist, kann es auch durch eine XSS-Sicherheitsanfälligkeit gestohlen werden.

* Da es sich um gutes HTTPS handelt - dass das Zertifikat gültig ist, verwenden Sie eine moderne Version von TLS usw. usw. Die gleichen Einschränkungen, die immer gelten.

20
Anders

Wenn Sie die Kommunikation zwischen Ihrem Webbrowser und einem Server belauschen möchten, können Sie dies häufig mit den Entwicklertools Ihres Webbrowsers tun (üblicher Hotkey: F12). Die meisten Browser verfügen über eine Art Netzwerkregisterkarte, auf der die gesamte Netzwerkkommunikation zwischen der aktuellen Website und dem Internet im Klartext protokolliert wird.

Wenn Sie Ihr Klartext-Passwort irgendwo dort finden und es sich nicht um eine https-Verbindung handelt, ist dies ein schlechtes Zeichen (wenn es is https ist, zeigt Ihnen der Browser die Daten unverschlüsselt an, obwohl sie beim Weiterleiten verschlüsselt wurden -das Kabel).

Aber selbst wenn Sie dort ein verschlüsseltes/gehashtes Passwort finden, wissen Sie nicht, ob es sich um gute Kryptographie handelt. Sie können im Allgemeinen nur mithilfe kryptoanalytischer Techniken feststellen, bis Sie herausgefunden haben, wie die Verschlüsselung funktioniert, oder ob Sie den Javascript-Code auf der Website rückentwickeln, um herauszufinden, wie er funktioniert.

7
Philipp

So untersuchen Sie dies normalerweise. Wenn es sich um einen Hash Ihres Passworts handelt, können Sie Ihr Passwort mit der Hash-Funktion testen und die Ausgabe vergleichen. Diese bestimmte (angenommene) Hash-Zeichenfolge hat 232 Hex-Ziffern, was 928 Bits entspricht. Dies ist die genaue Größe der RSA-280-Nummer, die bei der SHA-1-Verschlüsselung verwendet wird (zusammen mit vielen anderen RSA-Nummern, sodass Sie nicht sicher sein können, ohne die Funktion auszuprobieren).

https://en.wikipedia.org/wiki/RSA_numbers#RSA-28

RSA-280 hat 280 Dezimalstellen (928 Bit) und wurde bisher nicht berücksichtigt.

Sie können den Quellcode der Webseite öffnen, versuchen, das Modul zu finden, das etwas mit SHA-1 zu tun hat (in diesem Fall), dann die darin enthaltene Hashing-Funktion suchen und sie dann mit Browser-Entwicklertools oder node.js wie ausführen diese:

console.log(hashingFunction('yourpass'))

Dann sehen Sie einfach, ob die Ausgabe die gleichen 232 Zeichen hat. Bitte beachten Sie, dass das Auffinden der Hash-Funktion schwierig sein kann, verschleiert, lange nach dem Laden der Seite usw. heruntergeladen werden kann und Sie offensichtlich JavaScript-Kenntnisse benötigen.

1
exebook

Es gibt zwei Möglichkeiten: Ihr Passwort wird entweder verschlüsselt oder in diese Zeichenfolge verschlüsselt. Wenn es verschlüsselt wurde, kann es nur mit dem in der Webanwendung definierten Schlüssel entschlüsselt werden. Dies ist ziemlich sicher und es dauert lange, bis versucht wird, es zu beschädigen.

0
Arief Karfianto