6:10 pm - Seçim sonrası emekli maaşları
5:42 pm - Bir Gün Sonra İlk
5:25 pm - Seçimin kaderini belirleyen 10 il
3:39 pm - Altını Olanlar Veya Alacaklar
2:21 pm - Yılmaz Özdil’den beklenen seçim açıklaması geldi
1:38 pm - Canlı Yayında Herkes Duydu
12:07 pm - Gizemli Kehanetleri Ortaya Çıktı
6:51 pm - Ortalık Toz Duman
5:49 pm - CHP İstanbul İl Başkanlığı binası önünde
5:36 pm - Sayım Devam Ederken
Her geçen gün milyonlarca web sitesi hackleniyor. Bir amiral gemisi olan dev sitelerde bile ciddi açıklar gözden kaçabiliyor. İşte yazımızda büyük açıklardan biri olan Cross Site Scripting (XSS) Açığını ele alacağız.
Ayrıca Okuyun: jQuery ile Kaydırma Efekti Yapmak!
XSS Açığı Nedir? Eğer bir sitede GET Parametresi ile değer alınıp kontrol edilmeden ekrana yazdırılıyorsa ciddi bir açık oluşabilir. Örneğin;
<?php
$gelen_veri = $_GET["id"];
echo $gelen_veri;
?>
Herşey tıkırında gibi görünüyor öyle değil mi? Mesela bu dosya için;
www.siteadi.com?id=merhaba
yazdığınızda ekrana merhaba yazar. Peki bunun açık kısmı nerede diyorsanız. Hemen bir örnekle daha göstereyim.
Eğer yukarıdaki örnek yerine şunu yazıyor olsaydık;
www.siteadi.com?id=<script>alert("merhaba");</script>
Sizce ne olurdu?
Tabiki de ekrana bir uyarı mesajı ile merhaba yazardı. Bu demek oluyor ki; alert ile ekrana birşey yazdırabiliyorsak, açık olan oturumları, çerezleri, site bilgilerini ve gizli her bilgiyi görebiliriz. Bu çok büyük bir açık öyle değil mi?
XSS Açığı Nasıl Kapatılır? Eğer açığı kapatmak istiyorsak, çok basit bir yol izleyeceğiz. GET veya POST ile aldığımız veriyi htmlspecialchars(); fonksiyonundan geçireceğiz.
<?php
$gelen_veri = htmlspecialchars($_GET["id"]);
echo $gelen_veri;
?>
İşte bu kadar basit. Açık kapatıldı. Hemen kendi sitende açığın olup olmadığını kontrol et. Yoksa, Allah korusun sitende kocaman bir HACKED BY yazısı görebilirsin. İyi Kodlamalar!