Şimdi Ara

Php-Wordpress RFI uzantı ve Komut Dizini Güvenlik açığı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
1
Cevap
1
Favori
742
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Yeni bir güvenlik açığında merhabalar arkadaşlar. Son günlerde revaşta olan WordPress Tabanlı web site kullanımında, Hacker’lar yeni yeni güvenlik açıkları taramakta ve bulmakta. Sitemiz üzerinde bu açıklara karşı ne yapabileceğinizi sizlere anlatacağız.

    Son yıllarda revaşta olanSeo çalışmalarından wordpress’de nasibi almakta. Hatta durum öyle ki WordPress kullanımının ana sebeplerinden biri WordPress tabanlı site temalarının ve eklentilerinin mükkemmel Seo uyumudur. Fakat şunu unutmamak gerekir ki Bilişim Dünya’sında yapılan her şeyin birde kötü yanı vardır. Linkleri Seo uyumlu yapmak için kullanılan yöntemler, bazı WordPress açıklarınıda beraberinde getirmektedir. Bunun yanı sıra herkesin artık kod yazmaya başlamasıda aslında tehlikeli bir hal almaya başlamıştır. Sonuçta sizinle tek alakası aynı sunucuyu paylaşmak olan bir sitenin hacklenmesi, sizinde hacklenebilmeniz anlamına gelmektedir. Bir çok Web Tasarım şirketi veya Web Tasarımcı, kod yazmayı bilmedikleri halde site tasarımı yaptıklarını iddia eder. İşin aslı şudur; Sağdan soldan alınma ve derleme kodlara, birazda kendi bildiklerini ekleyerek bir Web Tasarım ortaya çıkarır. Bu kişiler tarafından bilerek veya bilmeden yazılan bir çok açık ortaya çıkar. Bunun sonucunda Hacker’ler google arama motorunu referans alarak Dork yazar, exploit halinde derler ve Hack veya Forum sitelerinde paylaşıma sunar. Bunlardan en yaygın olanını şimdi sizlerle paylaşacağız.

    RFI Uzantı Açığı ve Çözümü

    RFI uzantı açığı yukarıda bahsettiğimiz sebeplerden dolayı ortaya çıkan ve dünyada sayısız sitenin barındırdığı kodlama açığıdır. Konunun öneminden şöyle bahsedebiliriz ki; bu açık sayesinde “Sunucuya Shell sokma, Site veya Sunucuya Yükleme Oluşturulması, Root çekme” gibi hack işlemleri rahatlıkla yapılabilmektedir. Yani bu açık sitenizde varsa ve kapatmadıysanız, sitenizin hacklenmemesi için bir sebep yok diyebiliriz. Açığın ne deneme yanılma, nede izlenecek sisteminden bahsetmek istemiyor. Çünkü yazımızı okuyan herkesin niyetini bilemeyeceğimiz için bizi mazur görün. Bu yüzden açığı kapatmaktan devam edelim.

    Açığımızın ana sebebi Remote ve local file inclusionlar, birçok exploitte olduğu gibi sadece kodlama
    sonundaki bir problem olsada sitenin kodlamaları üzeride hatalar meydana getirebilir. Bu yüzden problemimizi kökten halletmemiz gereklidir.

    -Sitenizin “Get ve Post” komutlarını mutlaka gözden geçirmelisiniz. Eğer hatalı kodlamaya sahipseniz bu ciddi bir açıktır. Eğer ki $page girişi tam olarak arındırılmadıysa, bu kodu kullanmamanızı tavsiye ederiz. $page kodunu direkt olarak sayfaya yönlendirdiyseniz, bu yapabileceğiniz en büyük hatadır. Browser’dan geçen her “İnput(giriş)” kesinlikle arındırılmalıdır. Herhangi bir kullanıcı Web siteyi ziyaret ettiğinde “files.php”yi ziyaret etmek için “File”a tıkladığında asağıdakine benzer bir kod görülecek:


    <a href=index.php?page=file1.php>Files</a>
    <?php
    $page = $_GET[page];
    include($page);
    ?>

    Bu kodun doğurabileceği sonuç : Web Sitenizin rahatlıkla yönlendirilebilmesidir. Bu sebepten dolayı “Get ve Post” komutlarını gözden geçirin ve İnput(giriş) komutunu olabildiğince arındırın.

    “disable_functions” (Güvenlik)

    Bu kodlama dizini sitenizin destek kaynağıdır ve herhangi bir hata kesinlikle kaldırılamaz. Bu komut dizini üzerinden yapılacak bir çok saldırıyı engellemeniz mümkündür. Bu yüzden :

    disable_functions = foreach, glob, openbasedir, posix_getpwuid, f_open, system,dl,
    array_compare, array_user_key_compare, passthru, cat, exec, popen, proc_close,
    proc_get_status, proc_nice, proc_open, escapeshellcmd, escapeshellarg, show_source,
    posix_mkfifo, ini_restore, mysql_list_dbs, get_current_user, getmyuid,pconnect, link,
    symlink, fin, passthruexec, fileread, shell_exec, pcntl_exec, ini_alter, parse_ini_file, leak,
    apache_child_terminate, chown, posix_kill, posix_setpgid, posix_setsid, posix_setuid,
    proc_terminate, syslog, allow_url_fopen, fpassthru, execute, shell, curl_exec, chgrp,
    stream_select, passthru, socket_select, socket_create, socket_create_listen,
    socket_create_pair, socket_listen, socket_accept, socket_bind, socket_strerror, pcntl_fork,
    pcntl_signal, pcntl_waitpid, pcntl_wexitstatus, pcntl_wifexited, pcntl_wifsignaled,
    pcntl_wifstopped, pcntl_wstopsig, pcntl_wtermsig, openlog, apache_get_modules,
    apache_get_version, apache_getenv, apache_note, apache_setenv, virtual

    kodlarını düzenlemeli ve gerçekten uzman bir kodersanız:

    disable_functions = glob, posix_getpwuid, array_compare, array_user_key_compare,
    ini_restore, exec, proc_get_status, proc_nice, proc_open, allow_url_fopen, fin, pconnect,
    system, dl, passthruexec, shell_exec, proc_close, proc_get_status, chown, chgrp,
    escapeshellcmd, escapeshellarg, fileread, passthru, popen,curl_exec, shell, execute

    kodlarıyla değiştirip sadeleştirmelisiniz.

    safe_mode” (Güvenlik)

    Güvenilik modu komut dizini olarak kullanılan “safe_mode”, tüm sitelerin en az 10′da 6′sında kapalı durumdadır. Komut dizini dosyaları ve kodlamasının yapıldığının yeterli olduğu sanılır. Fakat diğer dizinlerdeki bir çok komutu çalıştırmak için, “safe_mode” komutlarını farkında olmadan kapatırsınız. Bunun için :

    safe_mode = on
    “register_globals” (Güvenlik ve Performans)

    php.ini dosyasında bulunan “post ve get” ile gönderilen değerlere kullanıcı adlarıyla ulaşılıp
    ulaşılamayacağını. Session, cookie gibi çöplük işlemleri gören yazım dizini değerlerini kendi adıyla tanımlayarak ayrı birer değiken
    olmasina neden olur. “Off” olarak ayarlanirsa bu gibi değerlere kendi tanımladığı şekilde ulaşamayacaktır.

    register_globals = off

    “allow_url_fopen” (Güvenlik)

    “allow_url_fopen” default olarak “açik” şeklinde gelir ve bunun “on(açık)” olması durumunda “file_get_contents()”,
    “include()”, “require()” fonksiyonlar uzaktaki dosyalari da güvenli olarak görecektir. Eğer ki bu komut dizinleri doğru yazılmamışsa, sitenizin hacklenmesi çok basittir.

    allow_url_fopen = off

    “allow_url_include” (Güvenlik)

    Bu değer kapalı duruma getirildiğinde “require” ve “include” ile uzaktan dosya çağırılması engellenmiş olur ve
    bu sayede ciddi hack sorunlarını başınızdan defetmiş olacaksınız.

    allow_url_include = off

    “display_errors” (Güvenlik)

    Eğer ki hack konusunda biraz bilgi sahibiyseniz, çalışma sistemindeki bir hata Web Tarayıcımıza yansır. Aslında açığımız varsa bile yapmamız gereken en önemli işlem budur. Bu seçenek sitenizin çalışma esnasında oluşacak bir hatayı, doğru kodlama ile tarayıcıya yansıtmayı engelleyecektir. Yani siteniz için diyelim bir forum veya portal kullaniyorsunuz ve bunlarin çalışması esnasında
    genelde “Fatal error: Call to undefined function get_header() in /home/vhosts/site.com/index.php on
    line 37″ eklinde benzeri hata görülür ki forumları dolaşırsanız bu hatayı alan kullanıcı oldukça hatsafhadadır. Bunların gözükmesini engellemek için bu değerin kapalı duruma getirmek gerekir. Yoksa şans kaza sitenizi inceleyen bir hacker serwer’a girmek için bir yol bulmuş olur.

    display_errors = Off

    cgi.force_redirect” (Güvenlik)

    Bu değer normalde “on” olarak gelir ve Windows sunucularında IIS, OmniHTTPD yerlerinden elle kapatılmalıdır. Kendi sunucunuz için bu durum yoksa değitirmeniz için gerek yoktur. Fakat bir çok sunucu bu ayarı bilmemektedir.

    cgi.force_redirect = on

    “magic_quotes_gpc” (Güvenlik ve Performans)

    Magıc Quotes işlemi GET/POST yöntemiyle gelen Cookie verisini otomatikmen PHP script’e aktarmaktadır.
    Bizim önerimiz bu değerin açık yapılmasıdır.

    magic_quotes_gpc = on

    “magic_quotes_runtime”(Güvenlik ve Performans)



    Magıc quotes çalışma süresince data oluşturmadatır ve kodlamanızda herhangi bir hata varsa, Veritabanınızda sürekli açık çıkarmaya başlar. SQL’den exec()’den, vb.

    magic_quotes_runtime = Off

    “magic_quotes_sybase” (Güvenlik ve Performans)

    Sybase-style magic quotes kullanir (Bunun yerine \\\\\\\\\\\\ “bununla ” kaçırır.)


    magic_quotes_sybase = Off

    “session.use_trans_sid” (Güvenlik)
    Bu ayarı uzman bir koder yazmamışsa; Kullanıcı e-mail’ine aktif oturum ID’si içeren bir mail gönderebilir. Bir çok Hacker bu açığı bilmesede aslında uğraşılmadan Sunucuyu hackleyebileceğiniz bir yöntemdir.
    session.use_trans_sid = off







  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.