![]() |
| | Themen-Optionen |
| | Nach oben #1 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
Komischer Titel, ist aber so Zu meiner Schande muss ich gestehen, dass ich mich erst seit kurzem intensiver mit Sicherheitsfunktionen von PHP beschäftige. Nun meine Frage (ich denke mal ich steh auf dem Schlauch Wenn jemand versucht mit SQL-Injections über das Passwortfeld ärger zu machen, ist doch durch die Anwendung von md5() auf die "ungeprüfte" Eingabe Sicherheit gegeben oder? Immerhin dürfte alles "gefährliche" ja durch den Hash ersetzt worden sein. Laut Manual gibts auch nicht wirklich ein anderen Returnwert als den Hash wenn ein Fehler auftritt.
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #2 |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
|
Von gefährlichen MD5Werten hab ich noch nie gehört. Wie auch, zudem die doch nur ein HashPattern von[0-9a-f]i haben.. (oder verwechsel ich grad was?)
__________________ http://www.ChrisDiary.De |
| | |
| | Nach oben #3 |
| Erfahrener Benutzer Registriert seit: 18.08.2005
Beiträge: 108
|
Mit SQL-Injections wird man da in der Tat keine Probleme bekommen, aber: - Ich persönlich würde Versuchen, alle Variablen im SQL-String gleich zu behandeln, einfach aus Gründen der Konsistenz, ist aber nur eine Stilfrage. - md5() hat bei Passwörtern eigentlich nichts zu suchen. |
| | |
| | Nach oben #5 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
ich weiß nur, dass md5-hashs nicht wirklich unique sind und der gleiche hash aus 2 verschiedenen strings entstehen kann, aber dass md5 nicht dafür benutzt werden soll ist mir auch neu.
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #6 |
| Erfahrener Benutzer Registriert seit: 18.08.2005
Beiträge: 108
|
md5() und Konsorten (z.B. sha1) sind keine Verschlüsselung, waren nie eine und werden nie eine werden. Dass md5() dafür gerne zweckentfremdet wird ist eine Mischung aus Tradition und daraus, dass ordentliche Lösungen nicht so trivial sind. Ordentliche Passwortverschlüsselungen findet man über die Funktion crypt(), wobei hier md5-crypt bevorzugt werden sollte, falls Verfügbar ist blowfish freilich noch besser. Mal ganz davon abgesehen, dass md5() seit Jahren veraltet ist und durch sha1() ersetzt werden sollte... wobei sha1() erst seit PHP 4.3 dabei ist. |
| | |
| | Nach oben #8 | |
| Gast
Beiträge: n/a
| Zitat:
ich glaube du hast nicht verstanden warum man seine passwörter hashed und nicht verschlüsselt. MfG Fat Tony | |
|
| | Nach oben #9 | ||
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
| Zitat:
Zitat:
__________________ I did it my way - Senseless-Blog | ||
| | |
| | Nach oben #12 |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
|
Das mit den HashDatenbanken ist zwar schon ein schlagendes Argument, für mich aber ehrlichgesagt immer noch nicht ausreichend um die Verwendung von md5() einzustellen. Mag ja stimmen, dass md5($password) nicht wirklich der Knüller ist - beim 2fachen haschen ( md5(md5($password)) ) wirds dann mit den Datenbanken aber schon schwieriger, und selbst wenn einem diese Lösung nicht gefällt kann man immer noch auf andere Techniken zurückgreifen. Dass es in MD5 Kollisions-Hashes gibt ist mir auch bereits bekannt, da hatte ich mal ne ziemlich lange PDF darüber gelesen. Crypt ist natürlich eine alternative, aber über diese hatte ich eigentlich noch nicht ernsthaft nachgedacht. Ist MD5 denn wirklcih "so" schlimm?
__________________ http://www.ChrisDiary.De |
| | |
| | Nach oben #13 | |||||
| Erfahrener Benutzer Registriert seit: 18.08.2005
Beiträge: 108
| Zitat:
Zitat:
Zitat:
Weisst Du auch, dass md5 öfter und deutlich gründlicher geknackt wurde? Zitat:
Zitat:
PS: Meine leicht gereizte Stimmung ist darin begründet, dass es nach Jahren immer noch Leute gibt, die meinen, md5 wäre toll oder gar eine Verschlüsselung, und dann am besten noch anfangen mit Halbwissen über Kryptographie die Leiche md5 zu verteidigen, und ich zu oft darüber schreiben musste. Diskussionen findet man ein paar bei php.de, wenn jemand ne kurze Anleitung findet, wie man crypt() benutzt, kann er ja den Link posten. | |||||
| | |
| | Nach oben #14 | ||
| Erfahrener Benutzer Registriert seit: 18.08.2005
Beiträge: 108
| Zitat:
Dass allein ist Grund genug, md5() in die Tonne zu kloppen, selbst wenn einem crypt() zu kompliziert ist. Zitat:
Nicht, dass ich wirklich Ahnung von Kryptographie hätte, das ist jetzt nur geschätzt. Geändert von Waq (02.05.2006 um 12:46 Uhr). | ||
| | |
| | Nach oben #15 |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
|
Interessante Sache. Über MD5 hab ich mir noch nicht wirklich so große Gedanken gemacht. Aber das wird wohl stimmen was du sagst, ich werd auch gerne auf crypt() umsteigen. Ich finde, das wär ein gutes Tutorial Thema
__________________ http://www.ChrisDiary.De |
| | |
| | Nach oben #16 |
| Martin Breuer Registriert seit: 17.08.2005 Ort: Berlin
Beiträge: 1.642
|
das nenn ich ne schöne Diskussion ich werd mich auch mal mit crypt() beschäftigen, soo schwer kanns ja nun nicht sein
__________________ I did it my way - Senseless-Blog |
| | |
| | Nach oben #17 |
| Gast
Beiträge: n/a
|
So viel ich gelesen habe steht nur MD5/SHA1 auf jeder Platform zur Verfügung. Alle anderen von crypt unterstützten "Einweg-String-Verschlüsselungen" stehen eben nicht auf jeder Platform zur Verfügung und liefern von Platform zu Platform unterschiedliche Ergebnisse d.h. läuft eine Anwendung zu erst auf einem Windows Server und zieht zB auf einen Linux um so sind alle Passwörter "fürn arsch". Das wäre schon mal ein Grund crypt nicht zu verwenden. In einem Red Hat Forum habe ich auch noch gelesen, dass crypt einfacher zu knacken ist als md5. Außerdem verwendet crypt nur die ersten 8 Buchstaben. Meiner Meinung am sichersten: Mit md5 verschlüsseln und einen SALT verwenden. zB.: $salt = "fetterTony"; $hash = md5 ($salt . md5 ($password) . $salt); MfG Fat Tony |
|
| | Nach oben #18 |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
|
Das mit den MD5Salts kann man dann natürlich noch z.B. etwas kreativer erweitern, und als Salt das Registrierdatum eines Users im als unixtimestamp nehmen und vllt sogar noch was dazu.. Ist Crypt denn wirklch nicht überall verfügbar?
__________________ http://www.ChrisDiary.De |
| | |
| | Nach oben #19 |
| Jann Hendrik Bekaan Registriert seit: 02.12.2004 Ort: Wildeshausen
Beiträge: 2.212
|
__________________ Umfragen: Wenn du dich in ein interessantes Thema eingearbeitet hast, dann lass andere daran teilhaben! Danke! |
| | |
| | Nach oben #20 | ||
| Gast
Beiträge: n/a
| Zitat:
such doch mal bei Google "md5() vs. crypt()" auf den hinteren Seiten kommen ein paar gute Seiten zum Thema. Im Manual steht auch noch: Zitat:
MfG Fat Tony | ||
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PHP Sicherheit und Sicherheitslücken | java² | PHP-Programmierung | 4 | 27.09.2006 13:04 |
| md5 und andere Verschlüsselungen | Leo | PHP-Programmierung | 8 | 11.03.2006 14:46 |
| md5 | am82 | Allgemeine Java-Programmierung | 4 | 09.12.2005 08:29 |
| Datenbank und Sicherheit | sparrow | Datenbanken | 23 | 05.11.2005 17:45 |
| Sicherheit beim Programmieren | schifti | Plauderecke | 2 | 22.04.2005 09:42 |