Merhaba arkadaşlar
PHP scriptlerde geçmişte çokca karşımıza çıkan RFI ( remote file inclusion ) zafiyetleri uzun yıllar sömürüldükten sonra PHP nin allow_url_fopen ve allow_url_include ayarlarını varsayılan olarak kapalı duruma çekmesiyle ortadan kaybolmuştu ta ki bugüne kadar.
indishell grubu sabaha karşı yayınladığı " Exploiting Remote File Inclusion (RFI) in PHP application and bypassing remote URL inclusion restriction " link başlıklı makalesind SMB yardımı ile PHP nin url kısıtlamalarını atlatatıp RFI zafiyetini nasıl istismar ettiğiklerini anlatmıştır.
Konuda RFI ın temellerine girmeyeceğim o yüzden hatırlatma babında örnek bir RFI zafiyeti içeren php kodu en basit haliyle aşağıdaki gibi görünmesi muhtemeldir…
Lab ortamındaki PHP ayarları varsayılan ayarlarında olduğu gibi
allow_url_include ve allow_url_fopen her ikisi de Kapalı konumda
Ayarların düzgün çalışıp çalışmadığını kontrol ediyoruz bu ayarlara göre http ve ftp protokollerini kullanarak scripte kod enjekte edemememiz gerek.Nitekim aşağıdaki resimde görüldüğü üzre engellemeler işlerini yapıyor.
Bu kısıtlamaları SMB vasıtasıyla atlatmak mümkün uygun lab ortamı için anonim erişimlere açık olacak şekilde bir SAMBA sunucusu ayağa kaldırabilirsiniz.
Samba paketini yükleyip
Paylaşım klasörünüzü oluşturun
Gerekli dosya izinlerini verin
ve servisi başlatın
Servis başladığında şifresiz bağlantı sağlayabildiğimiz bir adet smb adresimiz olmuş olacak.
İstismar için kullanacağımız php scripti tanımladığımız /var/www/html/pub klasöründe oluşturuyoruz.
ve sonuç.
Kolay gelsin.
PHP scriptlerde geçmişte çokca karşımıza çıkan RFI ( remote file inclusion ) zafiyetleri uzun yıllar sömürüldükten sonra PHP nin allow_url_fopen ve allow_url_include ayarlarını varsayılan olarak kapalı duruma çekmesiyle ortadan kaybolmuştu ta ki bugüne kadar.
indishell grubu sabaha karşı yayınladığı " Exploiting Remote File Inclusion (RFI) in PHP application and bypassing remote URL inclusion restriction " link başlıklı makalesind SMB yardımı ile PHP nin url kısıtlamalarını atlatatıp RFI zafiyetini nasıl istismar ettiğiklerini anlatmıştır.
Konuda RFI ın temellerine girmeyeceğim o yüzden hatırlatma babında örnek bir RFI zafiyeti içeren php kodu en basit haliyle aşağıdaki gibi görünmesi muhtemeldir…
Kod:
<?php
$sayfa=$_GET["file"];
include($sayfa);
?>
allow_url_include ve allow_url_fopen her ikisi de Kapalı konumda
Ayarların düzgün çalışıp çalışmadığını kontrol ediyoruz bu ayarlara göre http ve ftp protokollerini kullanarak scripte kod enjekte edemememiz gerek.Nitekim aşağıdaki resimde görüldüğü üzre engellemeler işlerini yapıyor.
Bu kısıtlamaları SMB vasıtasıyla atlatmak mümkün uygun lab ortamı için anonim erişimlere açık olacak şekilde bir SAMBA sunucusu ayağa kaldırabilirsiniz.
Samba paketini yükleyip
apt-get install samba
Paylaşım klasörünüzü oluşturun
mkdir /var/www/html/pub/
Gerekli dosya izinlerini verin
Kod:
chmod 0555 /var/www/html/pub/
chown -R nobody:nogroup /var/www/html/pub/
/etc/samba/smb.cnf
dosyanızı doğru ayarlar ile oluşturun.
Kod:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = indishell-lab
security = user
map to guest = bad user
name resolve order = bcast host
dns proxy = no
bind interfaces only = yes
[ica]
path = /var/www/html/pub
writable = no
guest ok = yes
guest only = yes
read only = yes
directory mode = 0555
force user = nobody
service smbd restart
Servis başladığında şifresiz bağlantı sağlayabildiğimiz bir adet smb adresimiz olmuş olacak.
İstismar için kullanacağımız php scripti tanımladığımız /var/www/html/pub klasöründe oluşturuyoruz.
ve sonuç.
Kolay gelsin.
Moderatör tarafında düzenlendi: