• 14-02-2010, 14:52:35
    #1
    Üyeliği durduruldu
    Selam ARkadaşlar,
    Bu Seferki Makale XSS Güvenliği,
    Alıntıdır. : http://subsecurity.org/makale.php?id=3

    -------------------------------------------------------------------------

    Selam Arkadaşlar,
    Bugünki Makalemizde PHP Sayfamızda XSS Güvenliği.
    Evet Arkadaşlar İlk Önce Şöyle Bir Açıklama Yapalım,
    Birçok Güvenlik Sitesinde Bu Türk Açıkların Hacklenmesi, Yada Neler Yapılabileceği Anlatılır.
    Ancak biz nasıl hacklendiğini değil nasıl güvenliğinin sağlandığını anlatacağız.
    Şimdi Arkadaşlar, Bu Tür Açıklar Genellikle Arama Sayfalarında Bulunur, Neden Arama Sayfası Ağırlıklı.
    Veri ARarız, Bu Veri Ekrana Yansıtılır.
    Bu Veri Ekrana aktarıldığı İçin Gelen İşlemden Ne Yazılırsa Yazılsın Veri Ekrana Aktarılır..

    Şimdi Bir Senaryomuz Olsun,
    Form'da Get Metodu İle Veri Alınır
    Ve Sorgulanır, Ekrana Aktarılır.

    *-*-*-*-*-*-*-*-*-*-*-
    | verimizi arıyoruz |
    *-*-*-*-*-*-*-*-*-*-*-
    ///////
    /ARA!!/
    ///////

    Evet Verimizi Girdikten Sonra

    Arama.php?kelime=verimizi arıyoruz

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

    <?php
    $aranan = $_GET['kelime'];
    echo "aranan kelime > ".$aranan."";
    ?>

    Direk Ekrana Vuruyor.
    ve Html kod denesek,

    Arama.php?kelime=<script>alert("SubSecurity.Org XSS Denemesi")</script>

    Kod Direk Ekrana Vuracağı için,
    Alert Vericektir ve Sniffer Kurulup Bilgileriniz Çekilebilecektir,
    Peki Neler Yapabiliriz.

    Kullanacağımız Fonksiyonlar,

    + htmlspecialchars();
    + strip_tags();

    Evet Kullanacağımız Fonksiyonlar Açıklıyalım

    + 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) '&lt;' haline gelir
    * '>' (büyüktür) '&gt;' haline gelir


    Peki Htmlspecialchars bu görevleri yapıyorsa strip_tag neden kullanacağız ?

    strip_tags fonksiyonunda + bir güvenlik önlemi alınır yani,

    Arama.php?kelime=<script>alert("SubSecurity.Org XSS Denemesi")</script>

    burada ekrana yansımadığında,

    Arama.php?kelime="><script>alert("SubSecurity.Org XSS Denemesi")</script>

    Kullanılır ve Ekrana Yazdırılır,

    strip_tags fonksiyonu " karakterinin başına \ getirerek bunu önler,

    fonksiyon kullanımı,

    $aranan = htmlspecialchars($_GET['kelime']);
    $aranan = strip_tags($aranan);
    echo "aranan kelime > ".$aranan."";

    bu şekilde ise ekrana html kod yansımayacaktır.

    www.subsecurity.org - Jester

    ------------------------------------------------------------------
  • 14-02-2010, 15:43:02
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    https://www.r10.net/1060447866-post15.html

    buradaki hepsi için bir güvenlik teşkil eder zaten