SQL Injection neden dolayi olusur ve Nasil Korunulur?

SQL Injection suphe goturmez ki web uygulamalarinda yayginlik / hasar orani en yuksek aciktir. Muhtemelen exploit etmesi de en eglenceli ve bazen tahmin edilenden daha zor olan aciktir.

Belirttigimiz gibi SQL Injection’ in ana nedeni web uygulamasinin kullanicidan gelen girdiyi dogru sekilde kontrol etmeden o girdi ile dinamik bir SQL cumlecigi olusturmasindan kaynaklanmaktadir.

Bir onceki bolumdeki ornekte dikkat ettiyseniz saldiri girdisi (‘) tirnak karakteri ile baslamisti. Cunku SQL’ e istedigimiz komutu gondermek icin oncelikle string bolumunden (‘) tirnak karakteri ile kacip daha sonra istedigimiz SQL komutunu SQL cumlecigine ekledik. Burada ekledigimiz komut “OR 1=1” gibi bir komuttu. Bu komut sayesinde SQL cumlecigi tum kayitlari dondurdugunden dolayi sisteme basarili bir sekilde giris yapabilmistik.

Ozetle normalde SQL cumleciginin yapisini degistirerek yapmasi gerekeni degil yapmasini istedigimiz seyi yaptirdik. Bunun ana nedeni ise SQL cumleciginin icerisine disaridan (‘) tirnak karakteri araciligi ile komut ekleyebilmemizdi.

not : SQL Injection ilk defa Rain Forest Puppy tarafindan “How I hacked PacketStorm” makalesinde dokumante edilmistir. Bu makale PacketStorm’ un SQL Injection ile hack edilmesini anlatir. Ilginc olan ise bu dokumanda bu atak “SQL Injection” olarak tabir edilmez. Bu terim daha sonradan ortaya cikip kabul gormustur.

Kaynak: http://ferruh.mavituna.com
belgesi-1376

Belgeci , 2422 belge yazmış

Cevap Gönderin