fiLLLipnet Skrevet 16. august 2004 Del Skrevet 16. august 2004 (endret) Hei Går det ann å dekryptere et md5 kryptert passord. I så fall hvordan. Holder på å lage en "glemt passord" side. Den skal enten lage et random passord, oppdatere bruker og sende mail med passord til brukeren,,, Eller hente nåverende passord fra databasen dekryptere det og sende det til brukeren. Er takknemmelig for alle svar. Endret 17. august 2004 av Filip_KickAss Lenke til kommentar
Blib Skrevet 16. august 2004 Del Skrevet 16. august 2004 (endret) Det er nok meeeeeeget vanskelig. For vanskelig. Du må vel bruke ren makt og gjette deg frem, eller svært avanserte algorimter. Uansett krever det masse power og tar alt for lang tid. md5-kryptering er *sikkert*, så du må nok gå for den første løsningen din. Et spørsmål&svar-greie for å få utlevert passord på mail er også populært om dagen Endret 16. august 2004 av Blib Lenke til kommentar
muffe Skrevet 16. august 2004 Del Skrevet 16. august 2004 Et sp.mål, litt off-topic: Hva er det som gjør at det er tilnermet umulig å dekryptere md5 krypterte passord? Eneste måten er je brute force... Lenke til kommentar
jorgis Skrevet 16. august 2004 Del Skrevet 16. august 2004 md5 gjør om hvilken som helst streng til en 32-bokstavers alfanumerisk streng. Til og med en tekst på tredve sider blir til 32 bokstaver. Ergo representerer ikke md5-strengen (etter kryptering) noen deler av den opprinnelige strengen. Den følger bare et par algoritmer til å gjøre strengen om til en kortere "checksum". md5 kan derfor ikke dekrypteres, men det kan brute-forces. Å brute-force en full md5-streng tar dog altfor lang tid. Min gjetning vil være at det vil ta ca. 5 timer å brute-force en md5-streng på en gjennomsnittlig webserver, hvis ikke man har flaks. Lenke til kommentar
fiLLLipnet Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 OK.... Kan dere hjelpe meg med å lage random passord generator og mail som skal sendes til brukeren som har glemt passord, pluss, oppdatere mysql databasen med samme passord som ble sendt? Går det ann? Lenke til kommentar
eXZire Skrevet 17. august 2004 Del Skrevet 17. august 2004 Går kjempefint det, gjort det mange ganger jeg, men er det ikke mye morsommer å prøve selv? Lenke til kommentar
fiLLLipnet Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 Går kjempefint det, gjort det mange ganger jeg, men er det ikke mye morsommer å prøve selv? Har prøvd.. får det ikke til... får bare feil passord i enten mail eller database.. altså de er ikke like... Lenke til kommentar
Ueland Skrevet 17. august 2004 Del Skrevet 17. august 2004 Det er fint mulig og knekke dem, folk her på forumet har lagt ut slike koder før men nei, de kodene skal ikke bli lagt ut her, ei heller linker til slike koder da cracking er cracking. Lenke til kommentar
fiLLLipnet Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 (endret) Det er fint mulig og knekke dem, folk her på forumet har lagt ut slike koder før men nei, de kodene skal ikke bli lagt ut her, ei heller linker til slike koder da cracking er cracking. Hva mener du med det? EDIT: Forstod hva du mente med det etter postingen min... Jeg trodde du mente random password tingen, men du mente så klart dekryptering av md5 Endret 17. august 2004 av Filip_KickAss Lenke til kommentar
Ueland Skrevet 17. august 2004 Del Skrevet 17. august 2004 For å svare på spørsmålet ditt...hvis du har et kryptert passord som folk kan få tilbake ved å sende en mail så er det ikke kryptert lengre, selv om du krypterer det i mellomtiden så er det ikke kryptert da man kan få tak i det. Lenke til kommentar
fiLLLipnet Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 Jeg skal forklare slik at alle forstår: Funksjon som lager et uavhengi passord. Sende det ikke krypterte passordet til brukeren. md5 kryptere passordet som ble sendt og oppdatere databasen. Slik... Forstod dere da? Lenke til kommentar
The Red Devil Skrevet 17. august 2004 Del Skrevet 17. august 2004 Under er ein kodesnutt eg skreiv når eg begynte med php, sjølve php scriptinga er ikkje så bra som den burde være. Men den er vel eit godt eksempel. Scriptet, virker slikt at bruker skriver inn emailen sin, deretter sender skriptet ein fårespørsel email til bruker, og spør om han virkeleg vil skifte passordet sitt. Vist bruker vil det så trykker han på ein link i emailen. Så lenge bruker gjør dette innen 24 timer vil han få mulighet til å velge eit nytt passord. Vist han gjør det etter 24 timer så vil han få ein error beskjed. Du kan sjekke det ut vist du ennå ikkje er sikker på korleis du skal gjør. Har lagt alle filene som blir brukt her: http://www.myllclan.com/Test/passord.zip <?php $url = "url til siden/password.php?id=Password&action=pwdrequest"; $url2 = "url til siden/password.php?id=Password&action=changepwd"; if ($lostpwd == "yes") { include("Inc/Vheader.inc.php"); include("Inc/Lostpwd.inc.php"); include("Inc/Vfooter.inc.php"); } elseif ($submit AND $lostpwd == "yes2") { $sql = "SELECT * FROM $userdatabase2 WHERE email='$email'"; $result = mysql_query($sql); if (!$result) { include("Inc/Vheader.inc.php"); include("Inc/Error2.inc.php"); include("Inc/Vfooter.inc.php");exit; } $sql = "SELECT * FROM $userdatabase3 WHERE email='$email'"; $result2 = mysql_query($sql); if (!$result2) { include("Inc/Vheader.inc.php"); include("Inc/Error2.inc.php"); include("Inc/Vfooter.inc.php");exit; } $number = mysql_num_rows($result); $number2 = mysql_num_rows($result2); if (($number == 0) && ($number2 == 0)) { $Errormsg = "Error1"; include("Inc/Vheader.inc.php"); include("Inc/Lostpwd.inc.php"); include("Inc/Vfooter.inc.php"); } else { if (!empty($number)) $lostpwddatabase = $userdatabase2; else $lostpwddatabase = $userdatabase3; $randomhash = sprintf('%c%c%c%c%c%c%c%c', mt_rand(97,122), mt_rand(65,90), mt_rand(48,57), mt_rand(97,122), mt_rand(48,57), mt_rand(65,90), mt_rand(97,122), mt_rand(48,57)); $encryptedhash = md5($randomhash); if (!empty($number)) { $usernr = mysql_result($result,0,"uid"); $username = mysql_result($result,0,"username"); $contact = mysql_result($result,0,"contact"); } else { $usernr = mysql_result($result2,0,"uid"); $username = mysql_result($result2,0,"username"); $name = mysql_result($result2,0,"name"); $surname = mysql_result($result2,0,"surname"); } $sql = "UPDATE $lostpwddatabase SET pwdrequest='$encryptedhash', pwddaterequest=UNIX_TIMESTAMP() WHERE email='$email'"; if (@mysql_query($sql)) { echo(""); } else { include("Inc/Vheader.inc.php"); include("Inc/Error2.inc.php"); include("Inc/Vfooter.inc.php");exit; } if (!empty($number)) $email_content4 = "$email_content41 $contact $email_content44 $url&u=$usernr&hash=$encryptedhash$email_content42 $username $email_content43"; else $email_content4 = "$email_content41 $name, $surname $email_content44$url&u=$usernr&hash=$encryptedhash&sub=yes$email_content42 $username $email_content43"; mail("$email", "$email_subject4", "$email_content4", "From: $email_sender2\r\nBounce-to: $email"); include("Inc/Vheader.inc.php"); include("Inc/Lostpwd2.inc.php"); include("Inc/Vfooter.inc.php"); ?> <meta http-equiv ="refresh" content = "<?php print("$refreshtime");?>; URL=upload.php"> <?php } } elseif ($action == "pwdrequest" AND $u AND $hash) { if (isset($sub) && $sub == "yes") { $info=mysql_query("SELECT username,email,name,surname,disabled,pwdrequest,pwddaterequest FROM $userdatabase3 WHERE uid='$u'"); } else {$info=mysql_query("SELECT username,email,contact,disabled,pwdrequest,pwddaterequest FROM $userdatabase2 WHERE uid='$u'");} if ($info && isset($sub) && $sub == "yes") { $result2 = mysql_fetch_array($info); $user = $result2["username"]; $email = $result2["email"]; $name = $result2["name"]; $surname = $result2["surname"]; $userbanned = $result2["disabled"]; $realhash = $result2["pwdrequest"]; $datehash = $result2["pwddaterequest"]; } elseif ($info) { $result2 = mysql_fetch_array($info); $user = $result2["username"]; $email = $result2["email"]; $contact = $result2["contact"]; $userbanned = $result2["disabled"]; $realhash = $result2["pwdrequest"]; $datehash = $result2["pwddaterequest"]; } $datehash2 = $datehash + 86400; if (!$info OR $userbanned == 1) { $Errormsg = "Error1"; include("Inc/Vheader.inc.php"); include("Inc/Pwdrequest.inc.php"); include("Inc/Vfooter.inc.php"); } elseif ($hash != $realhash) { $Errormsg = "Error2"; include("Inc/Vheader.inc.php"); include("Inc/Pwdrequest.inc.php"); include("Inc/Vfooter.inc.php"); } elseif ($datehash > $datehash2) { $Errormsg = "Error3"; include("Inc/Vheader.inc.php"); include("Inc/Pwdrequest.inc.php"); include("Inc/Vfooter.inc.php"); } else { if (isset($sub) && $sub == "yes") $lostpwddatabase = $userdatabase3; else $lostpwddatabase = $userdatabase2; $randompass = sprintf('%c%c%c%c%c%c%c%c', mt_rand(97,122), mt_rand(65,90), mt_rand(48,57), mt_rand(97,122), mt_rand(48,57), mt_rand(65,90), mt_rand(97,122), mt_rand(48,57)); $encryptpw = md5($randompass); $sql = "UPDATE $lostpwddatabase SET password='$encryptpw' WHERE uid='$u'"; if (@mysql_query($sql)) { echo(""); } else { include("Inc/Vheader.inc.php"); include("Inc/Error2.inc.php"); include("Inc/Vfooter.inc.php");exit; } if (isset($sub) && $sub == "yes") $names = "$name, $surname"; else $names = "$contact"; $email_content2 = "$email_content51 $names$email_content55 $user$email_content52 $randompass$email_content53 $url2 $email_content54"; mail("$email", "$email_subject5", "$email_content2", "From: $email_sender2\r\nBounce-to: $email"); include("Inc/Vheader.inc.php"); include("Inc/Pwdrequest.inc.php"); include("Inc/Vfooter.inc.php"); ?> <meta http-equiv ="refresh" content = "60; URL=upload.php"> <?php } } elseif ($action == "changepwd") { include("Inc/Vheader.inc.php"); include("Inc/Changepwd.inc.php"); include("Inc/Vfooter.inc.php"); } elseif ($submit AND $action == "changepwd2") { //Checking if the username field is filled out if (!$user) { $Errormsg = "Error1"; include("Inc/Vheader.inc.php"); include("Inc/Changepwd.inc.php"); include("Inc/Vfooter.inc.php"); } //Checking if old password field is filled out elseif (!$oldpass) { $Errormsg = "Error2"; include("Inc/Vheader.inc.php"); include("Inc/Changepwd.inc.php"); include("Inc/Vfooter.inc.php"); } //Checking if password field is filled out elseif (!$pass) { $Errormsg = "Error3"; include("Inc/Vheader.inc.php"); include("Inc/Changepwd.inc.php"); include("Inc/Vfooter.inc.php"); } //Checking if password2 field is filled out elseif (!$pass2) { $Errormsg = "Error4"; include("Inc/Vheader.inc.php"); include("Inc/Changepwd.inc.php"); include("Inc/Vfooter.inc.php"); } //Checking if the passwords is identical elseif ($pass != $pass2) { $Errormsg = "Error5"; include("Inc/Vheader.inc.php"); include("Inc/Changepwd.inc.php"); include("Inc/Vfooter.inc.php"); } else { $encryptoldpw = md5($oldpass); $sql=mysql_query("SELECT * FROM $userdatabase2 WHERE username='$user' AND password='$encryptoldpw'"); $result = mysql_query($sql); $sql2=mysql_query("SELECT * FROM $userdatabase3 WHERE username='$user' AND password='$encryptoldpw'"); $result2 = mysql_query($sql2); $number = @mysql_num_rows($result); $number2 = @mysql_num_rows($result2); if (($number == 0) && ($number2 == 0)) { $Errormsg = "Error6"; include("Inc/Vheader.inc.php"); include("Inc/Changepwd.inc.php"); include("Inc/Vfooter.inc.php"); } else { $encryptpw = md5($pass); if (!empty($number)) $changepwddatabase = $userdatabase2; else $changepwddatabase = $userdatabase3; $sql = "UPDATE $changepwddatabase SET password='$encryptpw' WHERE username='$user'"; if (@mysql_query($sql)) { echo(""); } else { include("Inc/Vheader.inc.php"); include("Inc/Error2.inc.php"); include("Inc/Vfooter.inc.php"); exit; } include("Inc/Vheader.inc.php"); include("Inc/Changepwd2.inc.php"); include("Inc/Vfooter.inc.php"); ?> <meta http-equiv ="refresh" content = "<?php print("$refreshtime");?>; URL=upload.php"> <?php } } } ?> Lenke til kommentar
fiLLLipnet Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 Er takknemmelig for svar.... Men finnes det ikke en enklere måte å lage passord å sende det på da? Lenke til kommentar
fiLLLipnet Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 Hmmm.... Tusen takk for alle svar men jeg har bestemt meg for å lage til slik hemmelig spørsmaål greier , jeg tror det er det enkleste alternativet til nå... Men som sagt... Tusen takk for alle som har brydd seg... Hilsen Filip_KickAss Lenke til kommentar
Klette Skrevet 17. august 2004 Del Skrevet 17. august 2004 lag en php fil som sender en mail til brukeren som vil endre sitt passord med en link som har en random id med i den, denne iden kan du jo f.eks lagre i en egen database e.l. Brukeren må trykke på denne linken for å komme til en ny php fil som endrer passordet til en ny random streng som sendes til brukeren via epost igjen. i det scriptet sender mailen får du det også til å endre passordet i databasen (UPDATE e.l.), dog hvis den tilfeldige id'en som du inkluderte i den første mailen ikke er over 24timer gammel. Kommer ikke på noen enklere metode :\ Lenke til kommentar
fiLLLipnet Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 Ja det går jo. Men jeg har home.no.net domene så det kan ta flere dager før mailen kommer... Lenke til kommentar
fiLLLipnet Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 Ja det går jo. Men jeg har home.no.net domene så det kan ta flere dager før mailen kommer... Lenke til kommentar
joffar Skrevet 17. august 2004 Del Skrevet 17. august 2004 Det er nok meeeeeeget vanskelig. For vanskelig. Du må vel bruke ren makt og gjette deg frem, eller svært avanserte algorimter. Uansett krever det masse power og tar alt for lang tid. md5-kryptering er *sikkert*, så du må nok gå for den første løsningen din. Et spørsmål&svar-greie for å få utlevert passord på mail er også populært om dagen andre burkere her på forumet sier at md5 er forholdsvis lett å knekke... http://forum.programmer.no/index.php?showtopic=270927&st=20 kun sekunder for a knekke et 4 bokstavers md5 kryptert passord... Lenke til kommentar
The Red Devil Skrevet 17. august 2004 Del Skrevet 17. august 2004 Alt kan være lett igrunnen. Ein lang tekst omformert til md5 er mye vanskeligere å decryptere enn 4 bokstaver. Lurer på om eg skal legge til ein fil, og inkludere den som salt. Det vil iallefall gjøre det mye vanskelegere å "force brute" ein md5 hash. Det at nokon kansje har ein måte å "dekryptere" md5 hashs utenom brute force har eg liten tru på, siden dei då kunne solgt den løysningen for millioner av kroner. Tenk å laste ned ein film ved å kopiere md5 hashen og deretter decryptere den... Det ville vært saker hehe. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå