XSS (çapraz site betikleme)

“Bir web sitesinin güvenliğini sağlama” makalesi Sophos Plc ve SophosLabs tarafından sunulmaktadır.

Aralık 2007.

Bu tür saldırılar, kullanıcının girdiği verileri görüntüleyen siteleri hedef alır. Kötü niyetli kod girerek veritabanının kontrolünü ele geçirmeye çalışmak yerine, saldırgan sitenin kodunu hedef alır ve içine kötü niyetli segmentler ekler.

Birçok site, kullanıcı adlarını veritabanında saklar ve kullanıcılar giriş yaptığında bunları görüntüler. Bir saldırgan sahte bir hesap oluşturabilir ve ad alanına kötü niyetli kod yerleştirebilir. Bu tür saldırılar genellikle başka bir siteden içerik indiren kötü niyetli Javascript betikleri kullanır. Veritabanının kullanıcı adını sakladığı varsayılır, ancak bu durumda aslında kötü niyetli kod saklanır. Bu kod, site kullanıcı adını sayfanın üst kısmında görüntülerse çalıştırılır. Belirli koşullar altında, böyle bir kod neredeyse her şeyi yapabilir. Tehdit oldukça gerçek hale gelir. Yine de, geliştiriciler genellikle bunu unutur. Son zamanlarda, MySpace, Facebook *, Google, Mail, VKontakte gibi birçok popüler site XSS saldırılarının kurbanı olmuştur.

Not

Aşağıdaki PHP kodunu düşünün:

$firstname = $_POST["firstname"]; echo "Your name: $firstname";

Kullanıcı adı web formuna girildikten sonra, site sayfada buna karşılık gelen bir mesaj görüntüler. “Chris” girerseniz, mesaj şöyle görünür: “Adınız: Chris”. Bir isim yerine aşağıdakileri girerseniz ne olur: «<script>alert («You just got hacked!») ;</script>»?

Peki ya bir ad yerine şu girilirse: «<script>alert («Siber saldırıya uğradınız!») ;</script>»? Ne yazık ki, XSS saldırılarını önlemek genellikle zordur. Girdi ve çıktı verilerini, ayrıca kullanıcılar tarafından değiştirilebilecek tüm alanları filtrelemeniz gerekir.

Bu, GET ve POST isteklerinden alınan verilerin yanı sıra veritabanından döndürülen sorguları da içerir. Bir dizi PHP paketi, örneğin CodeIgniter [15], çıktıyı filtrelemeye yardımcı olur.

Ayrıca, PHP’de yerleşik htmlspecialchars işlevi, çıktı verilerini filtrelemek için kullanılabilir.

İleri

Contact support




Ayrıca şuraya gidebilirsiniz:

Hizmet, Rusya Federasyonu topraklarında yasaklanmıştır.