URL: https://www.overclockers.at/coding-stuff/php_mysql_md5_96125/page_1 - zur Vollversion wechseln!
i hab md5() für verschlüsselung eines eingegeben passwords benutzt. muss ich jetzt alle passwörter in der tabelle auch mit md5() verschlüsselt haben oder gibt einen befehl der es wieder entschlüsselt.
sorry wenn ne anfänger frage is aber i bin ein anfänger.
tia
mfg
a) md5 ist keine verschlüsselung, es ist eine einweg-hashfunktion.
b) mysql hat eine md5 funktion, um alle felder einer tabelle von klartext auf md5 umzustellen, verwende: update tablename set spaltenname=md5(spaltenname)
man kann ein md5 passwort nicht mehr entschlüsseln (außer durch bruteforce).. sondern nur vergleichen..
somit muss in der tabelle auch alles verschlüsselt sein damit das dann zusammenpasst
ok, danke für eure hilfe.
geschickter weise sollte man noch den username/userid auch in die md5/whatever passwort hash aufnehmen. das hat den grund, daß bruteforce deutlich erschwert wird, weil dann dann zb ein dictionary-word nicht nur einmal gehashed werden kann, und dann mit allen accounts verglichen werden kann, sonder das hashen muß für jeden user seperat erfolgen, was den aufwand für cracker nochmals deutlich erhöht.
da gabs doch auch einen thread dazu hier im forum... wo war er blos ?
bei update, wie kann ich nur einen bestimten wert ändern? zb. nur bei column password, den zweiten wert updaten.
UPDATE tblblah SET columnname='arg' WHERE rowdata='rowdata'
In einem projekt haben sie es mal geschafft viele md5 Passwörter mit Hilfe von hashtable Vergleichen zu entschlüsseln,d as Script ham sie online gestellt, ist mittlerweile offline, aber die Statistiken sind noch abrufbar, weiß aber nimmer wie der Link war
hört sich nach dictionary-attack an, bei dem die passwörter bereits als md5 vorliegen. aben um genau das zu verhindern, soll man dem input der hashes noch ein feld des benutzers hinzufügen, so daß das passwort X beim benutzter A und benutzer B nicht zum selben hash führt.
.. oder eine zufallszahl. auch ned perfekt, weil noch immer anfällig auf replay-attacks
Die Zufallszahl muss man dann mit dem Hash mitspeichern...
Wie gehen Replay-Attacks?
a) das soll ja nur den schutz erhöhen, falls die database in falsche haende gerät. hunderprozentigen schutz bietet das alles natürlich nicht. (zb wurde dem informatik-forum der tu wien mal durch zufall ein db-dump abhanden -> wegen der falschen verwendung der md5 sum, waren die passwörter leicht zu hacken.)
wenn man nicht den aufwand und die unbequemlichkeit für ein (fast) perfektes sicherheitssystem aufbringen möchte oder kann, und man sich arangiert, daß 100% nicht erreichbar sein werden. so gilt es mit einfachen methoden den aufwand für den cracker soweit in die höhe zu treiben, daß es für ihn uninteressant wird.
über dem daumen (um die berühmten 80/20 relation zu strapazieren), könnte man sagen, mit den ersten 20% des möglichen aufwandes erreiche ich 80% der möglichen sicherheit. jeder weitere prozentpunkt muß immer teurer erkauft werden. hier muss halt jeder fuer sich die grenze des möglichen ausloten.
b) für die kommunikation mit dem client, könnte man zb ein challenge response verfahren mit hashes implementieren. md5-javascript-codes gibts im web.
@mat - thx für den befehl
session abfangen und aufzeichnen (zB über den proxy) und einfach wiederholen.. also ein loginreplay.ZitatWie gehen Replay-Attacks?
siehe oben: heißt "challenge response"
... und es läßt sich auch leicht so realisieren, daß das passwort nicht cleartext in der db stehen muß.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025