Merhaba arkadaşlar,

Tüm sunucu sahiplerinin bu yolu izlemesini tavsiye ederim.




1. ssh root girişi yapın. chmod 711 /usr/bin/perl komutunu verin. Eğer diğer forumlarda belirtildiği gibi bu değeri 710 veya 444 yaparsanız perl kullanan webmail, awstats gibi scriptler çalışmayacaktır. Bu nedenle bu değeri 711 yapın.


2. httpd.conf dosyanızı açın. Yerini bilmiyorsanız whereis httpd.conf . pico /etc/httpd/conf/httpd.conf veya nano /etc/httpd/conf/httpd.conf ardından ctrl+w tuşuyla addhand yazıp entera basın. Sizi şu satıra götürecektir: AddHandler cgi-script .cgi .pl .plx .ppl .perl bu satırın başına # işareti koyarak pl, perl okumayı engelleyin. Böylece .htaccess ile pl çalıştırma izninin de önüne geçmiş olacağız.


# ekledikten sonra kaydetmek için ctrl x ardından y enter yapıyoruz yoksa kaydemez boşuna komut girmiş olursunuz : )


3. Sunucunuzun http servisini yeniden başlatın. diğer adıyla Apache


Önemli Uyarılar:
* İki adımı da tam olarak uygulamadan bu açığın önüne geçmeniz mümkün görünmüyor.
* Mod-security rulesi ( Kural Zinciri ) yapsanız dahi pl scripti aspx, asp (sunucunuz linux olsa da) şeklinde çalıştırılabiliyor.
* Scriptin PHP tabanlı olanı "system" fonksiyonunu kullanıyor. Php.ini'den bu fonksiyonu disable etmelisiniz


Disable etmek için ssh girin ve şu komutu kullanın


pico /usr/lib/php.ini ctrl w ile disable_functions = aratın


disable_functions = komutu karşısına system ekleyin
Ardından kaydetmek için ctrl x size oradan onaylıyormusunuz anladımında bişi sorucak genelde y enter yapılıyor bu şekilde yapın ardından apache reser atın






Ek-1: Bu tür bir scripti bulmak için sunucumuzu taratalım. PHP veya PL uzantısını siz belirleyebilirsiniz:


rm -rf /root/tara.txt
find /home/ -name "*.php" -print | xargs egrep -l 'ls -al' >> /root/tara.txt


işlem bitince pico /root/tara.txt


pl taramak için: "*.php" olan yeri "*.pl" olarak değiştirin.


NOT: Bu konuyla ilgili deneyimlerinizi, bilgilerinizi paylaşmaktan çekinmeyiniz
Böyle böyle bir açık var bunu ücretli yaparım diyebilirdim Konu hakkında ne tür görüşünüz varsa belirtiniz


NOT-2: Perl scriptin chmodu 777 yapıldığında script çalışıyor. Ancak ls -al /home/*/public_html/wp-config.php abc.txt gibi komutların çıktısı boş dönüyor. abc.txt'i okutmak mümkün olmadı