# Blind OS command injection with time delays (ENG 🇬🇧 | PL 🇵🇱) ​
Link: https://portswigger.net/web-security/os-command-injection/lab-blind-time-delays
Thanks to the OS Command Injection vulnerability, we can execute commands on a remote server, but sometimes we don't see the effects of our actions. In this case, our indicator will be the server response time.
After clicking "Access the lab" we see on the right side "Submit feedback":

This is where the OS Command Injection vulnerability exists:

Let's fill out the form with our data:

We send it to the server:

We proceed to Burp Suite, find our beautiful request, and send it to "Repeater".

In the "Repeater" tab, we send it once more to make sure everything works:

We have a "200" status, so it's OK. Now we can edit our request to see if the application will react to it.
So we change from this text:
csrf=wEGIKbFPQkZKr90mnDWxboGkH7hPN3FU&name=Adrian&email=adrian%40maryniewski.pl&subject=OH+SO+CLEVER+SUBJECT&message=EVEN+BETTER+MESSAGETo this:
csrf=wEGIKbFPQkZKr90mnDWxboGkH7hPN3FU&name=Adrian||sleep
10||&email=adrian%40maryniewski.pl&subject=OH+SO+CLEVER+SUBJECT&message=EVEN+BETTER+MESSAGEWe see that there is no vulnerability here - that is, the application gives an immediate response, not as we wanted - after 10 seconds.
We keep looking (which means we move our "sleep" command to the email parameter):
csrf=5ukZWYb3MzTqFXdr5Z6Vti2IcTdty1Ol&name=Adrian&email=adrian%40maryniewski.pl||sleep 10||&subject=OH+SO+CLEVER+SUBJECT&message=EVEN+BETTER+MESSAGE(there is a space between "sleep" and "10").
We send the request and... wait 10 seconds for the server response. That's enough to consider that we have found a vulnerability.
Portswigger Academy thinks so too:

Link: https://portswigger.net/web-security/os-command-injection/lab-blind-time-delays
Dzięki podatności OS Command Injection możemy wykonywać polecenia na zdalnym serwerze, ale czasem nie widzimy efektów naszych działań. W tym przypadku, naszym wyznacznikiem będzie czas odpowiedzi serwera.
Po kliknięciu "Access the lab" widzimy po prawej stronie "Submit feedback":

To właśnie w tym formularzu istnieje podatność OS Command Injection:

Wypełnijmy formularz naszymi danymi:

Wysyłamy to do serwera:

Przechodzimy do Burp Suite, odnajdujemy nasz przepiękny request i wysyłamy do "Repeatera".

W zakładce "Repeater" wysyłamy go raz jeszcze, żeby się upewnić, że wszystko działa:

Mamy status "200", więc jest OK. Możemy teraz edytować nasz request, żeby zobaczyć, czy aplikacja zareaguje na to.
Czyli zmieniamy z takiego tekstu:
csrf=wEGIKbFPQkZKr90mnDWxboGkH7hPN3FU&name=Adrian&email=adrian%40maryniewski.pl&subject=OH+SO+CLEVER+SUBJECT&message=EVEN+BETTER+MESSAGENa taki:
csrf=wEGIKbFPQkZKr90mnDWxboGkH7hPN3FU&name=Adrian||sleep
10||&email=adrian%40maryniewski.pl&subject=OH+SO+CLEVER+SUBJECT&message=EVEN+BETTER+MESSAGEWidzimy, że nie ma tutaj podatności - to znaczy aplikacja daje odpowiedź od razu, a nie tak jak chcieliśmy - po 10 sekundach,
Szukamy dalej (czyli przenosimy naszÄ… komendÄ™ "sleep" do parametru email):
csrf=5ukZWYb3MzTqFXdr5Z6Vti2IcTdty1Ol&name=Adrian&email=adrian%40maryniewski.pl||sleep 10||&subject=OH+SO+CLEVER+SUBJECT&message=EVEN+BETTER+MESSAGE(między "sleep" a "10" jest spacja).
Wysyłamy request i... czekamy 10 sekund na odpowiedź serwera. To wystarczy, żeby uznać, że znaleźliśmy podatność.
Portswigger Academy również tak uważa:
