View previous topic :: View next topic |
Author |
Message |
Tomz
Joined: 19 Dec 2004 Posts: 66 Location: Osijek
|
Posted: 20.11.2005 15:43 Post subject: Forme i PHP |
|
|
Želim napraviti registraciju ne admin korisnika s MySql-om.
Root usera sam promjenio u Administrator i stavio mu pasword: 3264128 (on je glavni korisnik)
---------------------------------------------
Imam dva php-a
U prvom se unose podaci: korisničko ime, password
A u drugom php-u se ti svi podaci obrade i napravi se novi MySql user koji samo može čitati podatke iz baze.
Problem je u tome što u drugom fajlu glavni user name i password su citljivi.
Kako taj propust popraviti? |
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 20.11.2005 17:13 Post subject: |
|
|
Pa passworde uvijek čuvaj hashirane u bazi, bilo za admina bilo za korisnike
Znači pospremi hash (SHA, MD5) od passworda u bazu, login provjeravaj tako da hashiraš ono što je čovjek unio i usporediš to sa hashom iz baze
Na taj način niti jedan password nije 'čitljiv', čak i ako se netko dočepa podataka iz baze
Naravno netko može probati bruteforce-ati ili skidati hash tablice ali to niti jedan zdravi čovjek neće ići raditi na malenom, nezanimljivom sajtu |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 20.11.2005 18:29 Post subject: |
|
|
koristi SHA1 jer se kod MD5 moze dogoditi da dva stringa imaju isti MD5 hash...highly unlikely....ali moguce je
iako postoji jos jedna stvar....ako neko uspije doci do pristupa bazi...to sto je pass hashiran...na kraju nis ne znaci... |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 20.11.2005 19:33 Post subject: |
|
|
da, ako ti netko upadne sa read/write permissionima u bazu onda ti nema spasa... ali u većini slučajeva neće biti tako lako za njega, morat će postepeno kopat u sustav... najlakše mu je da se domogne passworda tako da na nekom bezazlenom ispisu iz baze ubaci nešto SQL injectionom (ako zna kako se zove users tablica) i volia - user passwordi na pladnju
ako su hashirani to ne radi - uz to, admin ne smije znati tuđe passworde, so there |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 20.11.2005 20:21 Post subject: |
|
|
gle...to sto admin zna ili ne zna neciji pass...ne bude ga sprijecilo u apsolutno nicem ak zeli sjebat nekog
a i vecina ljudi koristi istog usera za select i za insert/update tablice....tak da ak uspijes injectat sql...za select iz baze...uspjet ces injectati i sql za update/insert u bazu...so there |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
carr
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
|
Posted: 20.11.2005 20:56 Post subject: |
|
|
Sulien wrote: | Pa passworde uvijek čuvaj hashirane u bazi, bilo za admina bilo za korisnike
Znači pospremi hash (SHA, MD5) od passworda u bazu, login provjeravaj tako da hashiraš ono što je čovjek unio i usporediš to sa hashom iz baze
Na taj način niti jedan password nije 'čitljiv', čak i ako se netko dočepa podataka iz baze
Naravno netko može probati bruteforce-ati ili skidati hash tablice ali to niti jedan zdravi čovjek neće ići raditi na malenom, nezanimljivom sajtu |
naravno, tada "i am konj, what's my password?" nece radit |
_________________ Bolje biti malo lud, nego malo pametan. |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 20.11.2005 21:00 Post subject: |
|
|
carr wrote: | naravno, tada "i am konj, what's my password?" nece radit |
pa...ak imas u bazi hashirane passworde...on request generiras novi...ne saljes stari... |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
unique
Joined: 29 Mar 2004 Posts: 655
|
Posted: 20.11.2005 21:11 Post subject: |
|
|
retro_one wrote: | a i vecina ljudi koristi istog usera za select i za insert/update tablice | hmm jel i mysql moze privilegirat usere? ... kak mi to nikad nije palo na pamet :) (nije da sam bas proucavao security ali...)
nego evo neki dan sam naletio na jedan zanmljiv link Authenticating on the Web (zapravo se radi o nekakvom linux howto, ali pocni citat od 11.2.1, moglo bi bit neke koristi :) ) |
_________________ Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE! |
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 20.11.2005 21:13 Post subject: |
|
|
da...mozes grantati useru razne privilegije...iako posto su programeri po defaultu lijeni obicno grantaju useru sve privilegije |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 20.11.2005 22:22 Post subject: |
|
|
@carr: po mom iskustvu svi sustavi registracije kojima kažem da sam zaboravio pass izgeneriraju novi i pošalju na mail, ne kažu ti tvoj stari pass jer ne mogu
jedino stock.xchng pamti passworde od onih koje znam, ali je*ga, oni ne čuvaju userima nikakav sensitive data |
|
|
Back to top |
|
|
Tomz
Joined: 19 Dec 2004 Posts: 66 Location: Osijek
|
Posted: 21.11.2005 10:11 Post subject: |
|
|
Možda sam krivo objesnio:
u prvom phpu koji se zove kreiraj_korisnika.php ima forma sa action="kreiraj.php" kada user unese podatke u polja i submita podatke iz formu u kreiraj.php.
U kojem će user laganim stiskom desne tipke miša i klikom na View Page Source vidjeti npr ovo:
if (mysql_connect('localhost', 'Bk', 'str5212'))
echo ("Spojen sam na bazu podataka<br>");
else
die ("Nemogu se spojiti na pazu podataka");
ako user i malo poznaje Php i MySql moći će bez problema uči u bazu i raditi što hoće. Neće koristiti svoj user name koji može samo čitati podatke. Nego će koristiti glavni koji može čitati pisati prepravljati brisati..........
Na nekim forumima kod registracije forma prosljedi podatke ali taj glavni Php koji kreira nemoguće je naći i vidjeti njegov source.
Ne pada mi na pamet kako da to napravim.
Hvala! |
|
|
Back to top |
|
|
retro_one
Joined: 16 Sep 2003 Posts: 880 Location: DUBRAVA.
|
Posted: 21.11.2005 10:19 Post subject: |
|
|
kako ti se vidi php source? jel tebi radi php uopce na tom serveru? i mislim da malo brkas pojmove mysql user i user tvog sistema.... |
_________________ Just your average eccentric programmer. |
|
Back to top |
|
|
Tomz
Joined: 19 Dec 2004 Posts: 66 Location: Osijek
|
Posted: 21.11.2005 10:39 Post subject: |
|
|
retro_one wrote: | kako ti se vidi php source? jel tebi radi php uopce na tom serveru? i mislim da malo brkas pojmove mysql user i user tvog sistema.... |
Server mi je offline samo testiram pomoću EasyPHP-a.
Možeš li mi objasniti razliku? Možda po tome idem u krivom smjeru. |
|
|
Back to top |
|
|
unique
Joined: 29 Mar 2004 Posts: 655
|
Posted: 21.11.2005 10:47 Post subject: |
|
|
pa probaj vidjet source npr. ovog foruma nemoguce je vidjet source .php datoteke (onoga sto je izmedju <?php ?>) jedino ako se ne radi o necem drugom... |
_________________ Activate interlock! Dynotherms connected! Infracells up! Mega thrusters are go! LET'S GO VOLTRON FORCE! |
|
Back to top |
|
|
Tomz
Joined: 19 Dec 2004 Posts: 66 Location: Osijek
|
Posted: 21.11.2005 11:06 Post subject: |
|
|
Koji sam ja konj. Bio sam ubjeđen da se može vidjeti ali kad sam probao na savom primjeru vidjeti source stvarno ga nema.
Hvala svima! Usput ste objasnuli ostale fore za zaštitu koje će mi pomoći.
Još sam početnik pa neke stvari ne kontam. |
|
|
Back to top |
|
|
Sulien
Joined: 04 Jan 2004 Posts: 2905 Location: Zagreb
|
Posted: 21.11.2005 11:53 Post subject: |
|
|
Haha to me podsjetilo kako sam prvi put instalirao Apache + PHP na svoj stroj (na Linuxu). Sad idem ja dohvatit file preko filesystema i čudim se kako mi se PHP ne izvršava nego dobijam source ono, uopće nisam kužio kako server zapravo radi
onda sam se bacio na manuale i nakon researcha sam utipkao http://localhost/ |
|
|
Back to top |
|
|
carr
Joined: 13 Nov 2003 Posts: 1397 Location: Karlovac
|
Posted: 21.11.2005 17:12 Post subject: |
|
|
retro_one wrote: | pa...ak imas u bazi hashirane passworde...on request generiras novi...ne saljes stari... |
znam stari, to je vise bila kao dodatna informacija za nekog ko ovo cita. |
_________________ Bolje biti malo lud, nego malo pametan. |
|
Back to top |
|
|
|