Kako zaustavit SQL INJECTION?[Pomoc potrebna]

poruka: 8
|
čitano: 2.873
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Kako zaustavit SQL INJECTION?[Pomoc potrebna]

Bok svima, ovako jedan lik me hakirao na mysqlu sa slq injectiom preko foruma ili reg stranice zna li tko kako da zaustavim injectije??
hvala

[url=http://"http://www.mybannermaker.com/link.php?nurl=http%3A%2F%2Fbelisce-gaming.ucoz.com%2F"][img width=400 height=49]http://img3.imageshack.us/img3/8711/mybanner4a32b4bfe5e10.png[/img][
 
0 0 hvala 0
17 godina
offline
RE: Kako zaustavit SQL INJECTION?[Pomoc potrebna]

pa moras pripaziti da filtriras unos sa formi, querya ili slicno...

 

npr imas link neznam

 

index.php?id=5

 

i sad kada ti ides postaviti upit u mySQL on bi isao nekako ovako

 

SELECT * FROM TABLE WHERE ID=$ID

 

u ovom slucaju id=5 pa bi query izgledao:

SELECT * FROM TABLE WHERE ID=5

 

a sta ako ja pozovem taj tvoj file ovako:

 

index.php?id=5;DROP%20TABLE%20users;

 

tvoj query bi u tom slucaju izgledao ovako:

 

SELECT * FROM TABLE WHERE ID=5; DROP TABLE users

 

dakle mogu izvrsit dva razlicita SQL upita, onaj koji selektira i onaj koji ti brise tabelu...

 

dakle, povezuj podatke ID-evima, napravi funkciju koja ce od query-a izvlaciti samo brojeve, kod submitanja formi filtriraj znakove ' / -- ; i ostalo...

 

Proguglaj... imas masu toga o sql injectionu...

 

I'm going woo woo
16 godina
neaktivan
offline
RE: Kako zaustavit SQL INJECTION?[Pomoc potrebna]

Znam u googlu sta pise al neznam kak to napravit....btw kad promjenim forum i sve stranice dali napadac moze svjdno uc ili mora opet injectat?(mislim dali on svaki put da bi otkrio svoj username i password mora injectati ponovo ili moze uc sam ovak?)

[url=http://"http://www.mybannermaker.com/link.php?nurl=http%3A%2F%2Fbelisce-gaming.ucoz.com%2F"][img width=400 height=49]http://img3.imageshack.us/img3/8711/mybanner4a32b4bfe5e10.png[/img][
17 godina
offline
Kako zaustavit SQL INJECTION?[Pomoc potrebna]

Ahaaaa... u tome je problem...

 

znaci kada taj tvoj lik ode na forum i mora se prijaviti sa userom i pwd

 

onda bi sql upit isao SELECT * FROM User where ime='nekoime' AND pwd = 'nekipwd'

 

dakle on preko forme salje 2 varijable... ajmo ih nazvat $ime i $pwd...

 

e sad... ako on umjesto tog nekog usera u polje username upise ante' OR 1=1-- njega ce pustit u taj tvoj formum... zasto?

 

jer sada SQL upit izgleda ovako

 

SELECT * FROM User where ime='ante' OR 1=1-- AND pwd = 'nekipwd'

 

primjecujes ova dva "--" na kraju... to znaci da se sve iza toga smatra kao komentar, dakle taj tvoj haker je na fini nacin preskocio provjeru passworda...

 

a ovaj dio

ime = 'ante' OR 1=1

 

covjek se nemora uopce zvati ante... zasto

 

ime = 'ante"    neistina

1=1                 istina

istina OR (logicko ili) neistina = istina dakle u redu je...

 

Ako si ti programirao forum pokusaj sa strored procedure:

 

SELECT STRCMP(username, $username) AND STRCMP(pwd,$pwd)  FROM Korisnik

 

e sad ovaj query radi to da usporedjuje polje u bazi username sa varijablom $username kao i sa passwordom

 

vraca ti 1 u koliko postoji takav user, u koliko ne... nisam siguran 0 ili -1

 

Sorri na sintaksi ako je kriva, pisem ovo iz glave... u svakom slucaju ideju imas...

 

Ako nisi ti pisao forum makni taj forum i skini neki drugi tipa phpBB ili nesto

I'm going woo woo
 
1 0 hvala 0
16 godina
neaktivan
offline
RE: Kako zaustavit SQL INJECTION?[Pomoc potrebna]

ustvari skuzio sam nehakira mi u forum injectiom nego u register site sad cu ga zamjenit potpuno drugacijim pa cemo vidjet oce li mi hakirati.

[url=http://"http://www.mybannermaker.com/link.php?nurl=http%3A%2F%2Fbelisce-gaming.ucoz.com%2F"][img width=400 height=49]http://img3.imageshack.us/img3/8711/mybanner4a32b4bfe5e10.png[/img][
Poruka je uređivana zadnji put sub 22.8.2009 11:42 (FrightMare).
16 godina
neaktivan
offline
RE: Kako zaustavit SQL INJECTION?[Pomoc potrebna]

uspjeh nemoze mi hakirat kodove =)

[url=http://"http://www.mybannermaker.com/link.php?nurl=http%3A%2F%2Fbelisce-gaming.ucoz.com%2F"][img width=400 height=49]http://img3.imageshack.us/img3/8711/mybanner4a32b4bfe5e10.png[/img][
16 godina
neaktivan
offline
RE: Kako zaustavit SQL INJECTION?[Pomoc potrebna]

ja sam u bazu spremio kriptirani username i pass...tako da upit provjerava...kriptirane stringove Osmijeh

do something while necrknes
17 godina
offline
Kako zaustavit SQL INJECTION?[Pomoc potrebna]

Tako je... treba ih spremati u npr SHA1... i onda kompariras data u bazi i kriptirani unos sa forme... fina zastita...

I'm going woo woo
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice