Seite 1 von 2

Hack mich!

Verfasst: 27.05.2019 15:05
von Kiffi
Ihr Lieben,

ich habe hier eine kleine Test-Seite erstellt, deren JavaScript verschlüsselt wurde:

http://test.tuebben.de/CryptTest/

Könnt Ihr mir bitte den Gefallen tun und versuchen, Benutzernamen und das Passwort herauszufinden, damit ich einschätzen kann, wie gut die Verschlüsselung ist?

Mit Dank im Voraus & Grüßen ... Peter

Re: Hack mich!

Verfasst: 27.05.2019 15:06
von NicTheQuick
Welche Verschlüsselung nutzt du denn?
Und es wäre toll, wenn du uns die Arbeit nehmen würdest den Javascript-Code wieder kenntlich zu machen. Der ist ja scheinbar minimiert worden.

Edit: Momentan sieht der Code ja eher so nach den typischen Ransomware-Trojanern aus. Ich hoffe deine Verschlüsselung ist nicht "Security by Obscurity", sondern was anständiges. :D

Re: Hack mich!

Verfasst: 27.05.2019 15:24
von Dadido3
Von verschlüsselung sehe ich nichts, das sieht einfach nach code aus der von irgendeiner Sprache nach JavaScript transpiliert wurde.

Benutzername: ItsyBitsyTeenieWeenie
Passwort: HonoluluStrandbikini

Edit:

Meine Vorgehensweise:
  • Seite in Firefox mit Entwicklerwerkzeugen öffnen
  • Im Element-Inspektor dem Event-Handler des Buttons folgen
  • Firefox zeigt dann den den JavaScript code, welcher zur Laufzeit erstellt wurde. Also quasi der "Entschlüsselte" code.
  • Durch Verfolgen des Codeflusses kommt man zu:

    Code: Alles auswählen

    this.cmdloginclick = function (_be) {
        if (_B == null) _B = this;
        var _B6;
        _B6 = false;
        if (_B._B1.value() == 'ItsyBitsyTeenieWeenie') {
          if (_B._B2.value() == 'HonoluluStrandbikini') {
            _B6 = true;
          }
        }
        if (_B6 == true) {
          _B._B4.text('Login erfolgreich!');
        } else {
          _B._B4.text('Login fehlgeschlagen!');
        }
      };
Es macht keinen Sinn sowas wie Logins browserseitig auszuführen. Es spielt keine rolle, welche noch so ausgefeilte Methode man sich ausdenkt. Alles was im Browser ausgeführt wird, kann manipuliert und ausgewertet werden.

Falls es darum geht, zugang zu einer "Webapp" zu gewähren, welche auch offline verfügbar sein soll, dann muss die Webapp verschlüsselt werden.
Dabei darf kein Passwort (Klartext oder verschlüsselt/gehasht) vorliegen, sondern die Applikation muss mit einem Passwort verschlüsselt werden. Bei Eingabe eines korrekten Passwortes, kann dann der code entschlüsselt und ausgeführt werden.

Aber diese Methode ist nicht so sicher, wie eine online Applikation, da ein Angreifer beliebig viele passwörter in beliebiger Geschwindigkeit ausprobieren kann.

Also, was ist das Ziel hier?

Re: Hack mich!

Verfasst: 27.05.2019 15:25
von RSBasic
Ich werde heute Abend mal versuchen, falls bis dahin noch nicht geknackt wurde. :D

\\Edit:
Oh, zu spät. :lol:

Re: Hack mich!

Verfasst: 27.05.2019 15:31
von NicTheQuick
Dadido3 hat geschrieben:Von verschlüsselung sehe ich nichts, das sieht einfach nach code aus der von irgendeiner Sprache nach JavaScript transpiliert wurde.
Cool, wie hast du es gemacht? Bin da unerfahren mit Javascript Debugging. Da finde ich mich nie zurecht oder hab einfach keine anständige Umgebung dafür.

Re: Hack mich!

Verfasst: 27.05.2019 15:35
von Kiffi
Dadido3 hat geschrieben:Benutzername: ItsyBitsyTeenieWeenie
Passwort: HonoluluStrandbikini
:lol: Das ging in der Tat ziemlich schnell. :allright:

Darf ich fragen, wie Du dabei vorgegangen bist?

Danke & Grüße ... Peter

Re: Hack mich!

Verfasst: 27.05.2019 15:44
von NicTheQuick
Auf jeden Fall schon mal drei Tipps von mir:
- Passwörter nicht clientseitig überprüfen
- Passwörter immer gehasht und gesalzen speichern, wenn man mag auch noch mit ein bisschen Pfeffer würzen
- Keine eigenen Verschlüsselungsalgorithmen erfinden, sondern etablierte offene Standards nutzen

Re: Hack mich!

Verfasst: 27.05.2019 15:50
von Dadido3
Ich hab den Beitrag oben ergänzt.

Trotzdem würde ich gerne wissen, was das eigentliche Ziel ist. Es gibt wahrscheinlich verbreitete und sichere Lösungen, je nach Randbedingungen.

Re: Hack mich!

Verfasst: 27.05.2019 15:50
von Kiffi
NicTheQuick hat geschrieben:- Passwörter nicht clientseitig überprüfen
- Passwörter immer gehasht und gesalzen speichern, wenn man mag auch noch mit ein bisschen Pfeffer würzen
weiß ich. Es ging um eine erste Abschätzung der Widerstandsfähigkeit dieser "Verschlüsselung" (ich schreib das mal jetzt so, obwohl Dadido3 da wohl anderer Meinung ist).
NicTheQuick hat geschrieben:- Keine eigenen Verschlüsselungsalgorithmen erfinden, sondern etablierte offene Standards nutzen
ist nix erfundenes. Ist ein Algorithmus aus der crypto-js (https://github.com/brix/crypto-js)

Grüße ... Peter

Re: Hack mich!

Verfasst: 27.05.2019 15:59
von Dadido3
Kiffi hat geschrieben:
NicTheQuick hat geschrieben:- Keine eigenen Verschlüsselungsalgorithmen erfinden, sondern etablierte offene Standards nutzen
ist nix erfundenes. Ist ein Algorithmus aus der crypto-js (https://github.com/brix/crypto-js)

Grüße ... Peter
Ok, so genau hab ich es mir nicht angesehen. Dann ist der Code wahrscheinlich wirklich verschlüsselt. Aber damit der Browser diesen ausführen kann liegt der Schlüssel mit bei.
Trotzdem, ich musste mir noch nicht mal die Arbeit machen irgendwelche Schlüssel im Quelltext zu suchen, und dann anschließend nach Daten zu suchen, welche damit entschlüsselt werden könnten.

Der Browser hat das ja bereits für mich erledigt, ich hab mir nur den Code zur Laufzeit angesehen. Sicherer wäre es, wenn du das eingegebene Passwort nutzt um den Code zu entschlüsseln.
Aber wie ich bereits oben geschrieben habe, ist es trotzdem nicht die beste Methode.