THT DUYURU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

chat
Seçenekler

Xss Açığını Kapatma /Rose Hacker

Blue-Moon - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
10/2013
Nereden:
./systemdown
Mesajlar:
2.065
Konular:
613
Teşekkür (Etti):
364
Teşekkür (Aldı):
522
Ticaret:
(0) %
26-05-2014 11:08
#1
Xss Açığını Kapatma /Rose Hacker
Search arama sayfasında Xss buldugumuzu düşünelim ve fix yönetimini anlatmaya çalışalım.
search arama sayfasında girdiler kullanıcılar tarafından girilir, zararlı kodlar girilmesi halinde Xss tespit edilir.

senaryo şu şekilde
veriyi gir.
ekrana alert ver.
fix’den sonra
veriyi gir.
ekranda bir değişiklik yok (fix çeşitine göre değişir.)

şimdi arama sayfamızın search.php oldugunu düşünelim.


Search.php?go=girilen kelimeler

şeklinde olacaktır.
vede Ekrana, Aranan kelime > Verimizi Arıyoruz..
Koda Baktığımızda Hiç Bir Filtreleme Olmadan,


PHP Kod:
Kod:
<?php
$aranan = $_GET[’go’];
echo "aranan kelime > ".$aranan."";
?>
direk ekrana vuruyor.

PHP Kod:

Kod:
Search.php?go=**********alert("THT")</script>
Peki hangi önlemler Alabiliriz?

Kullanacağımız Fonksiyonlar,


Php Code

Kod:
# htmlspecialchars();
# strip_tags();
Kullanıcağımız fonksiyonlar değişecek ama filter için gereken önlemler bu kadarda kalmaz bu yazımda 2 çeşit fonksiyon kullanacağım...

PHP Kod:

Kod:
# htmlspecialchars();

* ’&’ (ve imi) ’&amp;’ haline gelir.
* ’"’ (çift tırnak) ENT_NOQUOTES belirtilmişse ’&quot;’ haline gelir.
* ’’’ (tek tırnak) ENT_QUOTES belirtilmişse ’’’ haline gelir.
* ’<’ (küçüktür) ’<’ haline gelir
* ’>’ (büyüktür) ’>’ haline gelir
Htmlspecialchars ve strip_tag fonksiyonu arasında fark nedir?
Search.php?go=**********alert("DeFaCeR")</script>[/php]

burada ekrana yansımaz ama,


PHP Kod:

Kod:
Search.php?go=">**********alert("DeFaCeR")</script>
şeklinde yazdırıldıgında ekrana yansıtılır.

strip_tags fonksiyonu nedir ne işe yarar?
" karakterinin başına \\\\ getirerek bunu önler,

fonksiyon kullanımı...

PHP Kod:

Kod:
$aranan = htmlspecialchars($_GET[’go’]);
$aranan = strip_tags($aranan);
echo "aranan kelime > ".$aranan."";
evet bunun sonunda alert ekran gelmeyecekdir.

Not: bu 2 fonksiyonun işlevini if else deyimleriylede yapabilir kendinize göre zararlı buldugunuz html kodlarınıda engelleyebilirsiniz.





Konu Blue-Moon tarafından (26-05-2014 11:12 Saat 11:12 ) değiştirilmiştir.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler