• 12-12-2008, 16:21:23
    #10
    anladıgım kadarıyla sitende xss açığı bulunmaktadir . xss dökümanlarina googleden ulaşarak bu sorunu halledebilirsin sevgilerimle.


    yazilim adlı üyeden alıntı: mesajı görüntüle
    GET /index.php?id=111-222-1933email@address.tst&msg=</textarea><ScRiPt%20%0a%0d>alert(398116652888)%3B</ScRiPt> HTTP/1.0
    Accept: */*
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
    Host: www......
    Cookie: PHPSESSID=grqvtp5ppq5ekiq2pu90itkkf3
    Connection: Close
    Pragma: no-cache
    Acunetix-Product: WVS/5.1 (Acunetix Web Vulnerability Scanner - Free Edition)
    Acunetix-Scanning-agreement: Third Party Scanning PROHIBITED
    Acunetix-User-agreement: http://www.acunetix.com/wvs/disc.htm
    arkadaşlar bu program get üzerinden bağlanıp açık var diyor..bu konuda yardımcı olabilirmisiniz..
  • 12-12-2008, 16:25:22
    #11
    arkadaşım php konusunda yeterli bilgiye sahip dğeilim kısacası acemiyim..sizin bu konuda yardımınız olabilirmi..linkler v.s. konusunda..
  • 12-12-2008, 18:09:45
    #12
    foreach ($_GET as $security) {  
         if(  
      (eregi("<[^>]*script*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*object*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*iframe*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*applet*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*meta*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*style*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*form*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*img*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*onmouseover *\"?[^>]*", $security)) ||  
      (eregi("<[^>]*body *\"?[^>]*", $security)) ||  
      (eregi("\([^>]*\"?[^)]*\)", $security)) ||  
      (eregi("\"", $security)) ||  
      (eregi("forum_admin", $sec_key)) ||  
      (eregi("inside_mod", $sec_key)))  
      {$datetime = date('Y-m-d H:i:s');  
    
              die('<center>Bilgisayarinizin IP numarasi kayit altina alinmistir. Lütfen emin olmadiginiz URL dizinlerine ulasmaya çalismayin.</center>');  
    
        }  
    }

    Bu kodu kendi başına bir php dosyası oluşturarak yerleştir. Ve bunu dosyalarına include et

    Diyelim ki dosyan security.php olsun içine bunları yapıştır. Ve sonra scriptinin dosyalarına include et örnek :

    include("security.php");

    gibi...

    index.php dosyana yada diger dosyalarına hepsine yap. Eğer scriptin fonksiyonlarlar case'ler atanarak index.php üzerinden döndürülen bir script ise sadece index.php ye include etmen yeterli olacak yok her bir dosya bağımsız ise her birine ayrı ayrı include et bu yukarda yazılanlar GET açıklarını bir nebzede olsa kapatır..

    Saygılar...
  • 12-12-2008, 18:39:15
    #13
    evet yeni gördüm , arkadasımızın yazdigi code yardimci olabilir sana sevgilerimle.
  • 12-12-2008, 18:43:06
    #14
    Yada kullandığınız script size özel değilse, milw0rm - exploits : vulnerabilities : videos : papers : shellcode da script de daha önce acık bulunup bulunmadığını aratabilirsiniz.
  • 12-12-2008, 23:24:11
    #15
    @Recepikiz
    bu bilgiler için tşk ederim hemen uygulayacağım..

    bende bugün uğraşıp açıkları kapattığım bir yöntemi açıklıyayım sizlere bilmeyen arkadaşlara faydamız olur.

    if ( isset($_REQUEST["msg"])&&$_REQUEST['msg']<>"")
    bende açığa yol açan kod buymuş..bunuda engellemek için şöyle bir yol izledim..
    { dan sonra şu kodu ekleyin..

    if(strstr($_REQUEST["msg"], "script")=="false") {
    bunu her php dosyanıza uygulayın..
    bi tane açık bulma programı bulmuşdum pro diyince herkes salla onu takma iş görmez gibisinden konuşdu ama arkadaşlar gerçekden açıkları buluyor kapandığındada kapalı diye sorun çıkarmıyor..

    pro nun ismi Acunetix Web Vulnerability Scanner 6.. bunu kullanın deneyin derim benim işimi gördü..

    Genellemek gerekirse bende olan bu kod eğer ki sizlerdede varsa xss açığınız var demekdir ve önlemi alınmamışsa bu verdiğim yolu takip edin xss açığından kurtulun..

    şimdi arkadaşlar ben bu yolu takip ettim xss yi kapadım..
    @Recepikiz arkadaşın sunmuş olduğu yol sanki her açık için kalkan oluyor..ben kendi yapdığım kodu uygulamam yeterlimi yoksa @Recepikiz arkadaşın verdiği koduda uygulayammı..

    herkese başarılar...
  • 12-12-2008, 23:44:10
    #16
    arkadaşımızın vermiş olduğu kodu denedim süper çalışıyor herkesin bence sitesinde uygulaması gerek..

    ben basitçe anlatım yapayım..

    metin belgesi açıp içine şunları kaydediyoruz..

    <?
    foreach ($_GET as $security) {  
         if(  
      (eregi("<[^>]*script*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*object*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*iframe*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*applet*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*meta*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*style*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*form*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*img*\"?[^>]*", $security)) ||  
      (eregi("<[^>]*onmouseover *\"?[^>]*", $security)) ||  
      (eregi("<[^>]*body *\"?[^>]*", $security)) ||  
      (eregi("\([^>]*\"?[^)]*\)", $security)) ||  
      (eregi("\"", $security)) ||  
      (eregi("forum_admin", $sec_key)) ||  
      (eregi("inside_mod", $sec_key)))  
      {$datetime = date('Y-m-d H:i:s');  
    
              die('<center>Bilgisayarinizin IP numarasi kayit altina alinmistir. Lütfen emin olmadiginiz URL dizinlerine ulasmaya çalismayin.</center>');  
    
        }  
    } 
    ?>
    örneğin dosyayı guvenlik.php diye kaydedin kök dizine atın..

    sonra index.php açın..(her php dizinine eklemenizi tavsiye ederim.)
    bende include olarak include_once "baglan.php"; bu şekilde vardı sizde bunun altına veya üstüne farketmez include_once "guvenlik.php"; diye ekleyin..

    sonra test amaçlı bir xss açığı kodu deneyin..
    örneğin ;
    www.siteadı.com/index.php?msg=%3Cscript%3Ealert('Hacked....');%3C/script%3E
    ve sonuç size uyarı verecekdir..gördüğünüz üzre kod çalışıyor..
    buradan tekrar kod sunumunu yapan arkadaşa tşkler..

    ayrıca konu önemli sabitlenmesi herkesin sıkıntısına çare olacakdır..
    başarılar...
  • 12-12-2008, 23:57:03
    #17
    Merhaba

    bu sistemlerdeki ornegin mysql de yada php nin yapisinda bir acik bulma olayi o kadar kolay degildir, bence programlarin cogu versiyon dusukluklerini yada sunucuda bulunmayan bir componenti acik olarak gosteriyor.Bu tur aciklari bilmek, onlardan nasil faydalanacagini/kapatacagini kestirmek veritabani veya yazilim uzmanlarinin isidir.Programlar ise yaramaz bu konuda bence.

    php yi bilmiyorum ama asp.net te veritabanina sorgu gonderirken parametre kullanmalisiniz kullanmazsaniz id=1'a seklindeki sorgular isi bilen icin sonuc verebilir.
    php de de sanirm sorgu giderken parametre kullaniliyor.
  • 13-09-2010, 04:54:59
    #18
    uzun yıllardır asp programcısı olarak çalışarak hayatını kazanan biri olarak şunları söyleyebilirim;
    @Recepikiz arkadaşın site güvenliği konusunda yazdığı mesajlardan bu konulara aslında çokta yakın olmadığını söyleyebilirim. bunu mesajlarındai terimleri yanlış kullanmasından anamak bilen adam için hiç zor değil. mesela demişki, "
    PHP'nin en verimli çalıltığı Structured Query language (MySQL) diyelim.."
    iyide arkadaşım Structured Query language ile MySQL aynı şey değil ki. Structured Query language (SQL) yapısal sorgu dili demektir ve veritabanına erişim sağlayan programlama teknolojilerinin kullandığı bir sorgulama dilidir. yani asp de kullansanız php de kullansanız veritabanına erişecekseniz SQL kullanırsınız. MySQL ise genellikle PHP ile kodlanan projelerde tercih edilen veritabanı yazılımıdır. yani SQL ile MySQL in isim benzerliği dışında birbirine yakın hiçbir noktası yoktur. Birde demişki arkadaşımız GET/POST açıkları böle bi tabir yok. bu temel olarak SQL INJECTION olarak bilinen SQL sorgularının bypass edilmesi sonucunda yetki dışı veritabanına erişmek için kullanılan bir yöntemdir. verdiği kod örneği sql injection için bir önlemdir ve doğrudur. ancak injectiondan korunmak bu kadar kolay iken sizce işi bilen bir saldırgan injectionla vakit kaybeder mi ? cevabı ben vereyim. HAYIR!!! şu güvenlik açıklarını tespit ettiği söylenen programlar ise hiç bir işe yaramamaktadır. onlarla uğraşarak kaybedeceğiniz zamanı internette sunucu ve kod güvenliği üzerine araştırma yaparak değerlendirmeniz hem daha iyi sonuçlar almanızı hemde alacağınız tedbirlerin mantığını anlamanız açısından sonraki projeleriniz için daha iyi olacağı kanısındayım. recep arkadaşımız kusura bakmasın ona saldırmış gibi oldum ama amacım asla bu değil. sadece güvenlik gibi hassas bi konuda yetkin olmadan yazmasını yanlış buluyorum.
    Saygılar