PureBoard
http://forums.purebasic.com/german/

Hack mich!
http://forums.purebasic.com/german/viewtopic.php?f=2&t=31500
Seite 1 von 2

Autor:  Kiffi [ 27.05.2019 15:05 ]
Betreff des Beitrags:  Hack mich!

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

Autor:  NicTheQuick [ 27.05.2019 15:06 ]
Betreff des Beitrags:  Re: Hack mich!

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

Autor:  Dadido3 [ 27.05.2019 15:24 ]
Betreff des Beitrags:  Re: Hack mich!

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:
    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?

Autor:  RSBasic [ 27.05.2019 15:25 ]
Betreff des Beitrags:  Re: Hack mich!

Ich werde heute Abend mal versuchen, falls bis dahin noch nicht geknackt wurde. :D

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

Autor:  NicTheQuick [ 27.05.2019 15:31 ]
Betreff des Beitrags:  Re: Hack mich!

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.

Autor:  Kiffi [ 27.05.2019 15:35 ]
Betreff des Beitrags:  Re: Hack mich!

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

Autor:  NicTheQuick [ 27.05.2019 15:44 ]
Betreff des Beitrags:  Re: Hack mich!

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

Autor:  Dadido3 [ 27.05.2019 15:50 ]
Betreff des Beitrags:  Re: Hack mich!

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.

Autor:  Kiffi [ 27.05.2019 15:50 ]
Betreff des Beitrags:  Re: Hack mich!

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

Autor:  Dadido3 [ 27.05.2019 15:59 ]
Betreff des Beitrags:  Re: Hack mich!

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.

Seite 1 von 2 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/