Poslao: 17 Mar 2007 03:10
|
offline
- Pridružio: 07 Okt 2006
- Poruke: 34
- Gde živiš: Zrenjanin
|
Koliko je sigurno cuvanje md5 passworda u cookie ako se zna da se cookie mogu presresti (ukrasti), a na internetu postoje baze sa puno razbijenih md5 hash lozinki?
Recimo da je:
korisnicko ime - proba
lozinka - proba
Ako neko uspe da presretne cookie dobice informacije:
korisnicko ime - proba
lozinka - c0a8e1e5e307cc5b33819b387b5f01fd
Sada je potrebno samo da nadje neku bazu sa md5 lozinkama npr tmto.org/?category=main&page=search_md5 i umesto hasha dobice string sa kojim moze da se uloguje...
Da li neko moze da mi objasni kako povecati zastitu, odnosno na md5 dodati jos neku vrstu zastite i kako to sve odraditi u praksi?
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 17 Mar 2007 09:17
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Ili da napravis svoju hash rutinu, ili koristi neku jacu, tipa SHA-1.
|
|
|
|
Poslao: 17 Mar 2007 12:49
|
offline
- Pridružio: 07 Okt 2006
- Poruke: 34
- Gde živiš: Zrenjanin
|
taksistaZR ::
Da li neko moze da mi objasni kako povecati zastitu, odnosno na md5 dodati jos neku vrstu zastite i kako to sve odraditi u praksi?
bobby ::
Ili da napravis svoju hash rutinu, ili koristi neku jacu, tipa SHA-1.
Da li to znaci da mogu pass da cuvam kao npr md5+neki broj+jos nesto i ako moze neki primer koda za to...
|
|
|
|
Poslao: 17 Mar 2007 14:30
|
offline
- Blood
- Ugledni građanin
- Pridružio: 26 Jul 2003
- Poruke: 384
- Gde živiš: Beograd
|
pazi, jedna od praksi ti je da hashujes username i lozinku zajedno kao lozinku
znaci md5($username.$pass);
|
|
|
|
Poslao: 17 Mar 2007 15:03
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Osim ovoga sto ti je Blood rekao (a sto je odlican predlog) mozes da napravis Salt i da ga ukombinujes u MD5.
Podseti me da ti kasnije veceras napisem nesto o ovome, posto mi sada stizu gosti.
|
|
|
|
Poslao: 18 Mar 2007 02:25
|
offline
- Pridružio: 07 Okt 2006
- Poruke: 34
- Gde živiš: Zrenjanin
|
Blood ::pazi, jedna od praksi ti je da hashujes username i lozinku zajedno kao lozinku
znaci md5($username.$pass);
Ok... to će malo da zakomplikuje stvari, ali ponovo se dobija md5 hash koji se može lako razbiti pomoću već pomenutih baza na internetu.
U tom slučaju rezultat je probaproba i nije teško provaliti šta bi mogao biti password...
Kako da najbolje napravim svoju hash rutinu?
|
|
|
|
Poslao: 18 Mar 2007 02:40
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
napravi sesije...
ideja je sledeca:
- korisnik se loguje sa user i pass
- ako se uspesno loguje, u bazi kreiras neki random string, tzv. session_id, koji izgleda recimo ovako: d8f3384h2df1fa1736f282747d3bbad1
- taj string mu ubacis u cookie, i naravno, sacuvas ga u bazi
- kad korisnik sledeci put dodje na sajt, poveris da li se UserID i sesija iz cookies-a poklapa sa UserID i sesijom iz baze...
Tako se user i pass samo jednom koriste, prilikom prvog logovanja. Svaki drugi put ga prepoznajes po sesiji...
Taj sistem recimo koristi phpBB, kao i Mycity forum.
|
|
|
|
Poslao: 18 Mar 2007 23:15
|
offline
- Pridružio: 07 Okt 2006
- Poruke: 34
- Gde živiš: Zrenjanin
|
Ok Peco, to je sistem sa sesijama i on je bezbedniji od cookies pošto se informacije čuvaju na serveru sve dok se ne omogući korisniku pamćenje logina, a tu se opet pojavljuju cookie koji čuvaju session_id i postoji mogućnost da se njihov sadržaj presretne...
To mi čak deluje kao veća rupa od md5 hash'ovanog passworda pošto dobijaš sadržaj cookia crno na belo...
Većina rešenja koja sam našao na netu su slična tome što si ti meni objasnio, ali očito ne kontam najjasnije neke stvari u svemu tome pošto ne vidim zbog čega je session kada se dozvoli pamćenje logina sigurniji od cookie ?
Izgleda da to presretanje cookie na relaciji server klijent i obrnuto nije uopste toliko jednostavno koliko sam ja mislio i da je md5 password sasvim dovoljna zaštita uz dodatak još nekih stvarčica koji bi zbunili eventualnog napadača.
Da li je moguće odraditi nešto kao ovo , a da ima efekta:
md5 prva dva karaktera passworda + neki br + md5 sledeća dva karaktera + moja registracija kola(lupam) + md5 ostatka pasworda + trenutno vreme u sekundama i tako neke gluposti pa sve to strpati u cookie i bazu kao password i to proveravati kada korisnik ponovo dođe na sajt ?
|
|
|
|
Poslao: 18 Mar 2007 23:31
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Ovo zadnje sto si spomenuo je upravo salt. Tako Unix/Linux cuva passworde usera.
Generisi na serveru MD5 passworda i generisi jedan random broj duzine recimo 6.
Tih 6 cifara nakaci na kraj MD5 hasha, ili ih rasporedi onako kako si ti malopre napisao.
Rezultat zapamti u bazi i u cookiju.
Kada user treba ponovo da se uloguje na sajt, ti moras iz cookija da procitas MD5+salt, da bi imao salt koji ces uporediti sa onim u bazi (ukombinovanog u MD5 koji ces da izracunas iz logina).
Zar nemas mogucnos ubacivanja SHA1? Za njega ne verujem da je neko pravio Ranibow tabele.
|
|
|
|
Poslao: 18 Mar 2007 23:34
|
offline
- Blood
- Ugledni građanin
- Pridružio: 26 Jul 2003
- Poruke: 384
- Gde živiš: Beograd
|
Pa moguce je napraviti i to sto ti pricas, ali je totalno nepotrebno.
Te baze sa md5 siframa su napravljene na osnovu nekog recnika, ali ako spojis dve reci, tesko da ce se naci razbijen md5 za to.
Recimo, ja znam sigurno da rec "taksistaZRmojalozinka" ne postoji, i 99% sam siguran da je nema ni u jednoj wordlisti, dictionary-ju itd itb.
|
|
|
|