Blind OS command injection with time delays | Dec 23, 2022
Introduction
Welcome to my another writeup! In this Portswigger Labs lab, you’ll learn: Blind OS command injection with time delays! Without further ado, let’s dive in.
- Overall difficulty for me (From 1-10 stars): ★☆☆☆☆☆☆☆☆☆
Background
This lab contains a blind OS command injection vulnerability in the feedback function.
The application executes a shell command containing the user-supplied details. The output from the command is not returned in the response.
To solve the lab, exploit the blind OS command injection vulnerability to cause a 10 second delay.
Exploitation
Home page:
Feedback page:
Let’s try to submit a feedback, and intercept the request via Burp Suite:
When we clicked the Submit feedback
button, it’ll send a POST request to /feedback/submit
, with parameter csrf
, name
, email
, subject
, and message
.
Let’s test for OS command injection!
The email
, subject
and message
parameters seems interesting, it might be parsed to a shell command call mail
.
If in that case, we can try to injection a payload:
|| ping -c 10 127.0.0.1%0a
In here, we pipe(parse) the previous command into ping
, which will ping localhost 10 times. Also, we’ll need to provide a newline character(\n
or %0a
in URL encoding), to execute the ping
command.
Let’s try it!
It indeed waited for 10 seconds!
What we’ve learned:
- Blind OS command injection with time delays