Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Nemogu samog sebe da hakujem

[es] :: PHP :: Nemogu samog sebe da hakujem

[ Pregleda: 3220 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.sbb.rs.



+7 Profil

icon Nemogu samog sebe da hakujem17.07.2013. u 19:46 - pre 130 meseci
Zvuci smesno ali istinito, malo sam se ovih dana pozabavio sa SQL Injection da vidim kako to radi jer ako znam kako to radi lakse cu znati da zastitim svoje aplikacije.
Da moderatori nepomisle da zelim nekog da hakujem iskreno to mene nezanima.

Do sada sam koristio mysql_real_escape_string, get_magic_quotes_gpc da bi zastitio svoje upite...

E sada ja sam malo vise istrazivao i napravio sam simple formu za logovanje i php fajl koji proverava da li korisnik postoji ili ne u bazi...

Citajuci na php.net i po googe-u kako se zastiti i kako izgleda napad ja sam taj primer primenio na svoju app i neradi...

Code:

    $name = $_POST['name'];
    $pass = $_POST['pass'];
    
    if ($name =='' OR $pass == '')  {
        die("Unesi username or password!");  
    }
    else {      
          $q = mysql_query("SELECT * FROM users WHERE name= '$name'  AND pass = '$pass'") OR die(mysql_error());    
          if(mysql_num_rows($q)) {
              echo 'You are loged...';        
          }else {
              echo 'Korisnik nepostoji...';
          }
    }


Radi ako direktno u kodu dodam OR 1 ili OR 1=1
Code:
$q = mysql_query("SELECT * FROM users WHERE name= '$name'  AND pass = '$pass'" OR 1=1) OR die(mysql_error());   


Ali na php sajtu sam citao da ako korisnik unese u polje username administrator <postojeci clan> i kao sifru unese ' OR 1=1' da ce MySQL vratiti TRUE i uspesno logovanje.

Ja kad unesem u password polje to sto su rekli dobijam :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1

Probao sam na 100 nacina i dalje isto. Zasto bi onda brinuli o ovome kada sam sql vraca gresku i gubili brdo vremena na ciscenje stringova itd...
Ja iskreno nisam dublje zalazio u bezbednost ali cimam se vec duze vreme i kao sto vidim nemoguce je odraditi sem ako oni nemaju neke nove metode...


Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

djoka_l
Beograd

Član broj: 56075
Poruke: 3445

Jabber: djoka_l


+1462 Profil

icon Re: Nemogu samog sebe da hakujem17.07.2013. u 20:07 - pre 130 meseci
Ne treba da upišeš ' or 1=1' nego treba bez tog znaka navoda na kraju, dakle ' or 1=1
Drugo, ispiši kveri pre nego što pozoveš mysql_query, kako bismo mogli da ti pomognemo, tj. da vidimo tačno zbog čega javlja sintaksnu grešku u kveriju (da nije još neka osim viška apostrofa).
Treće, piše se odvojeno: "ne znam, ne pomisle, ne zanima, ne radi", takođe treba "da bih zaštitio" a ne da BI zaštitio.
 
Odgovor na temu

Radovan__III
Radovan__III
Beograd

Član broj: 15669
Poruke: 1245
*.dynamic.isp.telekom.rs.



+26 Profil

icon Re: Nemogu samog sebe da hakujem17.07.2013. u 22:25 - pre 130 meseci
Pricati o zastiti a na direktan nacin ubacivati string u query je nedopustivo. Google: "Prepared Statements php"
Aj sad svi u biblioteku da nesto pojedemo i popijemo ...
--------------------------------
Knjigovodstvo

 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
89.216.28.*



+44 Profil

icon Re: Nemogu samog sebe da hakujem18.07.2013. u 06:22 - pre 130 meseci
Da, uz to mysql_real_escape_string i mysql_query su deprecated.

Koristi, PDO sa prepared statements.
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1122
*.dynamic.isp.telekom.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: Nemogu samog sebe da hakujem18.07.2013. u 10:08 - pre 130 meseci
^ a gde si nasao da je mysql_real_escape_string deprecated?

osim ukoliko mislis da ce ceo segment mysql uskoro biti deprecated? onda ga menja mysqli::real_escape_string ...
 
Odgovor na temu

pajaja
Beograd

Administrator
Član broj: 41598
Poruke: 3430
109.122.96.*

Jabber: pajaja@elitesecurity.org
ICQ: 253317269


+144 Profil

icon Re: Nemogu samog sebe da hakujem18.07.2013. u 10:15 - pre 130 meseci
http://php.net/manual/en/function.mysql-real-escape-string.php
xxx
mali mali mali kamičak...nebo plave boje.
In Memoriam: Madzone Zeka(15.09.2005-16.09.2005)
 
Odgovor na temu

agvozden
Aleksandar Gvozden
founder
Info-G
Beograd

Član broj: 37813
Poruke: 1122
*.dynamic.isp.telekom.rs.

Sajt: www.gvozden.info


+68 Profil

icon Re: Nemogu samog sebe da hakujem19.07.2013. u 08:37 - pre 130 meseci
^ ha-ha, kada ides preko Gugla dobijes ti link gde ne stoji to obavestenje:

http://php.net/manual/sr/function.mysql-real-escape-string.php

 
Odgovor na temu

alfa-pro
Pancevo

Član broj: 241818
Poruke: 476
*.dynamic.sbb.rs.



+7 Profil

icon Re: Nemogu samog sebe da hakujem19.07.2013. u 11:56 - pre 130 meseci
Cek i koja je sada razlika izmedju MySQL i MySQLi? posto vidim da 80% posle ovog posta forsiraju MySQLi i PDO a MySQL ko da polako nestaje.
Kada vidjamo uvek ista lica, na kraju ona postaju deo našeg života. A kada postanu
deo našeg života,
onda žele i da nam ga izmene. I ako ne bude po njihovom, nije im pravo. Jer, svaki
čovek ima tačnu predstavu kako bi trebalo da živimo svoj život. A nikad nemaju pojma
kako treba da prožive sopstveni život.
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
89.216.28.*



+44 Profil

icon Re: Nemogu samog sebe da hakujem19.07.2013. u 13:55 - pre 130 meseci
Citat:
agvozden:
^ ha-ha, kada ides preko Gugla dobijes ti link gde ne stoji to obavestenje:

http://php.net/manual/sr/function.mysql-real-escape-string.php

To nema veze sa google-om, već u zavisnosti od lokalizacije tvog browsera (google na osnovu toga prikazuje rezultate...i zato te preusmerava na /sr/ a ne /en/ na php.net). Inače, ova informacija stoji već duže vreme...

@alfa-pro,

glavna razlika u tome je što mysql funcije su proceduralne i koriste "ručne" prepared statements. mysqli je zamena za mysql samo sa OO i ima podršku za prepared statements. PDO (PHP Data Objects) je fleksibilni layer za bazu podataka koji podržava MYSQL, kao i mnoge druge baze podataka.
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

[es] :: PHP :: Nemogu samog sebe da hakujem

[ Pregleda: 3220 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.