Türkce » WHM cPanel

SQL Injection nedir ve nasil korunulur ?

http://forum.whmdestek.com/

Go Back   WHM/cPanel Support Platform » Türkce » WHM cPanel
 

Reply
 
LinkBack Thread Tools Display Modes
  #1  
Old 14.06.07, 19:02
CaLViN's Avatar
Sevgi güctür.
 
Join Date: Apr 2007
Location: Outta nation
Age: 28
Posts: 2,070
Rep Power: 100000
CaLViN has a reputation beyond reputeCaLViN has a reputation beyond reputeCaLViN has a reputation beyond reputeCaLViN has a reputation beyond reputeCaLViN has a reputation beyond reputeCaLViN has a reputation beyond reputeCaLViN has a reputation beyond reputeCaLViN has a reputation beyond reputeCaLViN has a reputation beyond reputeCaLViN has a reputation beyond reputeCaLViN has a reputation beyond repute
SQL Injection nedir ve nasil korunulur ?

Önce, kendimce sql injection’in bir tanimini yapayim:
Sql injection kötü niyetli kisilerin bir web sitesinin querystring yada form degerleri vasitasiyla otomatik olarak ürettigi sql komutlarinin icerigine müdahale etmektir. (umarim dogrudur)
//Not yönetici arkadaslar örnek kismini silmekte serbesttir.

Peki bu nasil yapilir? Örnek:
http://www.bilmemne.com/bilmemne.aspx?ID=5
gibi bir satiri
http://www.bilmemne.com/bilmemne.aspx?ID=5; DROP Table Makaleler –
sekline getirmekle yapilabilir yada web sitesinin üye girisi kismina kullanici adi bölümüne yine benzer bir ekleme yapilabilir.
Peki bu illetden en kolay sekilde nasil kurtuluruz? Tamam hemen google’a girelim “SQL Injection” yazalim ve iste karsimizda 100 milyon tane makale, bir dakika, bunlarin hepsinde ayni sey yaziyor;
iste SQL Injection’dan aninda kurtulmaniz icin gereken 3 adim!
1- Parameterized Sql kullanin
2- Veritabanina asla ve asla “admin” yetkilerine sahip bir kullanici adiyla giris yapmayin. Bunun yerine kisitli haklara sahip bir kullanici adini kullanin.
3- Kullanicilarin gönderdigi bilgilere sakin güvenmeyin farkli noktalarda defalarca kontrol edin.
Makalelerde hersey toz pembe gözüküyor ama is basa düsünce öyle olmuyor maalesef, simdi burada ben basit bir regular expression yazdim ve kendim biraz test ettim, iyi sayilabilir.
(Bosluklari yok sayalim)
(?( \’+ | \;+ ) \s* (SELECT|INSERT|UPDATE|DELETE|OR|AND|DROP|GRANT|REV OKE|TRUNCATE))
Bu deseni yazarken düsündügüm sey suydu;
1- Saldirgan en basta tek tirnak isareti atmaliki “sifre kismini” kandiran bir enjeksiyon yapabilsin, yada querystring’e ek yapabilmesi icin en az bir kez noktali virgül atmasi gerekir, bu yüzden bastaki ( \’+ | \;+ ) kismini ekledim daha sonra ise desen yine basit sql kelimelerini gösteriyor. Burada dikkat edilmesi gereken bir nokta var, o da, bu deseni kandirmanin bir yolu oldugu peki nasil? eger kisi tek tirnak yada noktali virgülden sonra “/* */” stilinde bir “yorum kismi” eklerse ne olacak? eger asp.net kullaniyorsaniz tamam problem yok cünkü “validateRequest” özelligini kapatmamissaniz, asp.net kullanicidan gelen bilginin potansiyel tehlikeler iceryor oldugu gerekcesiyle sayfanin calismasini durdurur, peki ya PHP, yada ASP yada JSP bunu yapiyor mu? ben anlamam bunlardan, bilmiyorum, bilen varsa söylesin.
bunun icin desene kücük bir ek yaptim, sonuc olarak
(tamam ek kisim kaba duruyor biraz daha degisik metodlar kullanilabilir.)
(?( \’+ | \;+ ) \s* [/\* (\w*W*\d*\D*\s*) \*/]* (SELECT|INSERT|UPDATE|DELETE|OR|AND|DROP|GRANT|REV OKE|TRUNCATE))
burada bilmedigim sey daha ne tür enjeksiyon metodlari oldugu yada baska ne sekillerde bu desenin kandirilabilecegi, daha dogrusu, veritabanina etkiyebilecek bir sql komutunun ne sekilde bu desene takilmadan iceri girebilecegi? Arkadaslardan istegim bu konuda yardimci olmalari.
__________________
1.)Lütfen destek talebinde bulunmak icin özel mesaj ile iletisime gecmeyiniz.
2.)Ücretsiz destek almak icin forum sayfalarimizi kullanmaniz ayni sorunu yasayan diger üyelerin cevaplara en kisa sürede ulasabilmesi ve sizlere yardimci olmak isteyen bizlerin ve diger üyelerimizin zaman kazanmalari acisindan cok önemlidir.
3.)Forumlarimizda sorunlarinizi anlatirken mümkün oldugunca cok detay vermeniz en kisa sürede sorununuza cözüm bulmaniz acisindan mühimdir.

Daha cok ögrenmek ve ögretmek dilegiyle..
Sevgiler..
The Platform.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl this Post!Reddit! Wong this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




netinternet

Navigasyon
Menü