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

0
71
views
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

 

 

 

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz