S.A CW Ailesi Dostlarim.Bundan önceki "Genel Web Hack Yöntemleri Ve Güvenlik Yollari" baslikli yazimda sizlere, saldirganlarin hangi yollari kullanarak hesaplari çalmaya çalistiklarini ve bunlardan nasil korunacaginizi genel olarak anlatmistim. Bu yazimda da yüzeysel olarak anlattigim, genis bir yöntem yelpazesine hitap eden bu yollardan bir kaçini daha detayli bir sekilde ele alacagim. Bunun içinde en popüler olan "Cross Site Scripting" ve "PHP Shell" tekniklerine deginecegim. Bu yöntemlerde diger bir çok yöntem gibi bilgisayar bilimi ile ugrasmaya gerek kalmadan uygulanabilecek "lame" diye tabir edilen yöntemlerdir. Scannerlarla yapilan açik bulma ve açigi kullanma yöntemlerine oranla daha çok yetenek gerektirdigi ise kaçinilmazdir.
Öncelikle "Cross Site Scripting(XSS/CSS)" nedir bunu bir ögrenelim.
Cross Site Scripting, adinda anlasilacagi gibi bir scripting olayidir. Yani scriptlerle oynanarak yapilan bir saldiri çesitidir. Saldirgan, sitede bulunan herhangi bir yere bir script kodu (java,HTML vs..) ekleyerek, kullanicilara ait bilgileri çalmayi hedefler.
Burda saldirgan kendi istedigini yaptiracak script kodunu karsi siteye ulastirmak ve bunu baska üyelerin görmesini saglamak zorundadir. Bu yüzden adi "Cross Site"dir.
Örnek vermek gerekirse, kullanicilari sürekli login olma derdinden kurtaran cookie dosyalari bu yöntemle rahatlikla çalinabilir. Siz her defasinda cookiesine sahip oldugunuz bir siteyi ziyaret ettiginizde, browseriniz sizin login bilgilerinizi cookie dosyanizdan alarak karsi siteye iletir. Saldirgan sitede çalistirdigi bir script kodu ile bu bilgileri kendine yollayabilir.
Daha detayli ama basit bir örnekle açiklayalim ;
Bir web sitesine girdiniz ve bir arama kismi var. Bu arama kismina yazdiginiz hersey ayni anda sitede görünmekte ve "Son Yapilan Aramalar" diye bir kisimda çikmakta. Web sitenin sahibi, PHP kodlama konusunda acemi bir kisi, siz ise deneyimlisiniz. Yapilan aramalarin ne oldugunu sitenin anasayfasina giren herkes görmekte.
Bir arama yapiyorsunuz ve aynen orda çikiyor. Herhangi bir filtreleme veya kontrol mekanizmasi yok. Eger ki kodlayan kisi, girilen özel karakterleri filtrelemediyse, site büyük tehlike altinda.
Yapmaniz gereken "" yazarak sitenin bu kodlari çalisirip çalistirmadigina bakmak. Eger ki cookie verisi ekranda çikarsa, bilin ki bu sitede bir açik var. Burda girdigimiz kod, bir javascript kodu olup, ekrana cookie verimizi basiyor.
Bu tarz bir durumla karsilastiginizda istediginiz HTML veya JavaScript kodunu girerek sitenin anasayfasini DEFACE edebilir hatta cookie dosyasini çalip, içinden çikan HASH’i kirarak ilk yazimda yazdigim yöntemlere bakarak, siteyi HACK bile edebilirsiniz.
Bu bir kodlama hatasidir, açiktir, bunu halletmenin yolu HTML taglari filtrelemekten geçmektedir. Hiçbir PHP programcisi bu hataya düsmez ancak, yeni bir programci bu hatalari sik yapar.
Temelde XSS hep bu mantikla çalismaktadir. Kendi scriptinizi karsidakinin görebilecegi sekilde sitede çalistirmaniz gerekir. Bazen filtreleme bile yapilsa bu scriptler çalistirilabilir. Bir çok escape fonksiyonu, encoding veya taglardaki karakterlerle oynama yoluyla scriptleri karsi tarafa geçirmek mümkün olmaktadir.
XSS’den korunmanin en önemli yolu, filtreleme degildir. Saldirganin cookie çaldiginda eline geçen cookie’nin sahip oldugu yetkilerinin azaltilmasidir. Filtreleme her zaman geçerli bir yöntem olamaz. Çünkü bir sekilde asilabilir. Tedbir denilen sey, olayin olduktan sonra size zararini azaltan seydir. Örnek gerekirse , emniyet kemeri takmak bir tedbirdir. Çünkü kaza olursa sizi korur. Ama sizin birine arabayi "Dikkatli Kullan" demeniz veya "Ben dikkatli kullaniyorum" demeniz tedbir degildir
Birde PHPShell dedigimiz, saldirganin karsi sitenin bulundugu sunucuda php üzerinden shell komutlari çalistirarak yaptigi saldiri yöntemi var. PHP ve Apache’nin dosya yönetimi üzerinde sahip olduklari haklari kullanarak saldirgan site nin bulundugu sunucuda bir çok komut çalistirip, 777 gibi public yazmaya açik klasörlere saldirmasi ile sonuçlaniyor.
Bu saldiri yönteminde saldirgan sunucu üzerindeki sitede komut çalistirabilecegi bir açik bulup "curl" gibi komutlarla sunucuya disardan bir php shell scripti sizdirarak makine içinde sitenin bir çok sahip oldugu hakki kullanarak hem siteye hemde sunucudaki diger sitelere saldirialr yapiyor. Bu yöntemde bilimsel yöntemlerden uzak, ag bilgisi gerektirmeyen "lame" diye tabir edilen yöntemlerden biridir. Korunma yolu saglam permission ayarlari yapmaktir. Ve sunucuda ki apache ve php permission ayarlarini saglamlastirmaktir.
Her Deface/Hack yapabilen kisi, bu isi teknigiyle bilen kisi degildir. Bir çok hack sitesinin vermis oldugu yazilimlar, dökümanlar ve güvenlik sitelerinde yayinlanan açiklari kullanan her siradan bilgisayar kullanici deface veya hack yapabilir. Bu durumda site sahipleri öncelikle genel tedbirleri almak zorundadir. Çünkü kullandiginiz bir forum scriptinde çikan bir açik, bu islerle hiç ilgisi olmayan biri tarafindan bile kullanilabilir ve siteniz çok alakasiz biri tarafindan hacklenebilir.
Bir çok mass tool ve yayinlanan script açiklarini kullanarak bu islere hevesli olan insan mevcut. %95 gibi bir orani bu isleri mantigiyla ve yetenegiyle yapan kisiler degil. Bildikleri kisitli yöntemler mevcut. En çok kullanilan 2 yöntemi daha detayli ana hatlari ile yukarda vermis bulunmaktayim. Yapmaniz gereken bu mantigi kullanip daha detayli arastirma yaparak önlem almaktir.
Tamamen kendi anlatimimdir saygilar herkese...
HUGEPOWER