mal ne ganz dumme Frage: warum kann man nicht das Passwort verschluesselt im Script speichern? Klar muss es eine Verschluesselung sein die momentan nicht in brauchbarer Zeit per Bruteforce entschluesselbar ist. Aber wenn man den verschluesselt speichert und die Eingabe des Users dann auch gleich verschluesselt und beides vergleicht, muesste das doch passen!?
Oder versteh ich grad die Frage/Aufgabenstellung voellig falsch?
Pythonscript "verschlüsseln"
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wenn man es verschlüsselt braucht man einen Key. Woher soll der Key kommen? Aus dem Skript? Dann kann der Angreifer auch den Key lesen, damit ist die ganze Verschlüsselung unwirksam.shakebox hat geschrieben:mal ne ganz dumme Frage: warum kann man nicht das Passwort verschluesselt im Script speichern? Klar muss es eine Verschluesselung sein die momentan nicht in brauchbarer Zeit per Bruteforce entschluesselbar ist. Aber wenn man den verschluesselt speichert und die Eingabe des Users dann auch gleich verschluesselt und beides vergleicht, muesste das doch passen!?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Man kann auch den md5-Wert oder so speichern (wie das häufig in Webanwendungen gemacht wird, wenn man Passwörter in Datenbanken speichert) und dann den md5-Wert der Eingabe mit dem gespeichertem Wert vergleichen.
Aber dann kann man das Script auch gleich so manipulieren, dass das ganze unwirksam wird, wenn man eh schon den Plaintext hat, aus dem man das gespeicherte Passwort rauslesen kann.
Imo geht das ganze ohne irgendwelche umständlichen Wege über das Inet (wie ich vorhin in einem Post beschrieben habe) nicht wirklich.
Aber dann kann man das Script auch gleich so manipulieren, dass das ganze unwirksam wird, wenn man eh schon den Plaintext hat, aus dem man das gespeicherte Passwort rauslesen kann.
Imo geht das ganze ohne irgendwelche umständlichen Wege über das Inet (wie ich vorhin in einem Post beschrieben habe) nicht wirklich.
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Es geht ja darum, dass jemand seinen Code durch Verschluesselung vor dem Blick des Users schuetzen moechte. Das heisst man will dem User den Schluessel/das Passwort nicht geben.shakebox hat geschrieben:Oder versteh ich grad die Frage/Aufgabenstellung voellig falsch?
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Ah, das war mein Missverstaendnis. Danke fuer die Erhellung. Wusste doch dass der Fehler bei mir liegen mussRebecca hat geschrieben:Es geht ja darum, dass jemand seinen Code durch Verschluesselung vor dem Blick des Users schuetzen moechte. Das heisst man will dem User den Schluessel/das Passwort nicht geben.
Ich muss nochmal blöd zwischenfragen
Was passiert denn mit dem Code, wenn man daraus eine EXE-Datei macht und die evtl nochmal packt oder sonstwie unleserlicher macht als sie sowieso schon ist. Kann dann der normale Endverbraucher sowas wie ein Kennwort mit sowas wie einem Texteditor noch auslesen oder wäre das schon ein Ansatz für ein Programm das jetzt nicht hochsensible Daten verschleiern soll? Und natürlich auch nur für ein Programm was ausschließlich unter Windows verwendet werden kann (oder durchs Nasenloch über den Magen zurück ins Auge über Wine unter Linux)
Was passiert denn mit dem Code, wenn man daraus eine EXE-Datei macht und die evtl nochmal packt oder sonstwie unleserlicher macht als sie sowieso schon ist. Kann dann der normale Endverbraucher sowas wie ein Kennwort mit sowas wie einem Texteditor noch auslesen oder wäre das schon ein Ansatz für ein Programm das jetzt nicht hochsensible Daten verschleiern soll? Und natürlich auch nur für ein Programm was ausschließlich unter Windows verwendet werden kann (oder durchs Nasenloch über den Magen zurück ins Auge über Wine unter Linux)
Du kannst damit machen, was du willst, man kann das Passwort theoretisch immer noch auslesen, wobei der Aufwand sich mit einigen Methoden sicherlich ziemlich stark erhöhen würde.n4p hat geschrieben:Ich muss nochmal blöd zwischenfragen
Was passiert denn mit dem Code, wenn man daraus eine EXE-Datei macht und die evtl nochmal packt oder sonstwie unleserlicher macht als sie sowieso schon ist. Kann dann der normale Endverbraucher sowas wie ein Kennwort mit sowas wie einem Texteditor noch auslesen oder wäre das schon ein Ansatz für ein Programm das jetzt nicht hochsensible Daten verschleiern soll? Und natürlich auch nur für ein Programm was ausschließlich unter Windows verwendet werden kann (oder durchs Nasenloch über den Magen zurück ins Auge über Wine unter Linux)
Das Passwort aus einer kompilierten .exe zu lesen ist sicherlich um einiges schwerer, als das Passwort aus einer normalen Textdatei auszulesen, aber immer noch nicht unmöglich.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Nein, nicht umbedingt, schon mal ``strings`` auf einem Executable ausgeführt?Karl hat geschrieben:Das Passwort aus einer kompilierten .exe zu lesen ist sicherlich um einiges schwerer, als das Passwort aus einer normalen Textdatei auszulesen, aber immer noch nicht unmöglich.
Wenn es darum geht, dass das Passwort nicht in Plain-Text zu sehen ist, dann kann man ja Nullbytes zwischen die Buchstaben setzen oder rot13 verwenden. Ist zwar keine Sicherheit, aber das Passwort ist nicht mit dem Texteditor sichtbar.
Hint: Sachen die man mit UPX packt kann man genausoleicht auch wieder entpacken.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Reverse Engineering für Neugierige
http://www.chaostal.de/cgi-bin/parser.c ... veng-intro
Der Autor gibt einen kleinen Einblick in Reverse Engineering von einem kleinen C Programm. Man kann fast sagen nur die Komplexität bzw. Größe des Programms machen es erst schwierig es zu "cracken"
http://www.chaostal.de/cgi-bin/parser.c ... veng-intro
Der Autor gibt einen kleinen Einblick in Reverse Engineering von einem kleinen C Programm. Man kann fast sagen nur die Komplexität bzw. Größe des Programms machen es erst schwierig es zu "cracken"
Wobei es auch immer auf das Ziel ankommt. Ich kann mich da noch an DOS-Programme erinnern, mit dem typischen Kopierschutz der Abfrage eines Wortes aus dem (gedruckten) Handbuch. Da haben sich die Programmierer oft viel Mühe gegeben den Algorithmus und die Daten im Programm zu verschleiern und es war in der Regel doch nur *eine* Programmstelle, an der am Ende die Entscheidung gefallen ist, ob das Programm startet oder nicht. Wenn man sich da also durchge-"traced" hat, war die Komplexität des Algorithmus und selbst die Daten völlig egal wenn man nur diese eine bedingte Verzweigung gefunden und "entschärft" hat.
Bezogen auf das Problem hier muss man also nur den Punkt finden, wo man einen Haltepunkt nach der Entschlüsselung setzen muss und kann das Passwort oder den (Byte)Code doch lesen. *Wie* die Daten verschlüsselt wurden, ist dabei fast völlig egal.
Edit: Ich sehe gerade in dem "reverse engineering"-Artikel wird die Abfrage so entschärft, wie ich das oben beschrieben habe.
Bezogen auf das Problem hier muss man also nur den Punkt finden, wo man einen Haltepunkt nach der Entschlüsselung setzen muss und kann das Passwort oder den (Byte)Code doch lesen. *Wie* die Daten verschlüsselt wurden, ist dabei fast völlig egal.
Edit: Ich sehe gerade in dem "reverse engineering"-Artikel wird die Abfrage so entschärft, wie ich das oben beschrieben habe.