Web Attacks: Command Injection
In this lab, you'll practice command injection web attacks. When you're finished, you'll know how to identify and exploit command injection web attacks.
Terms and conditions apply.
Lab info
Lab author
Challenge
Getting Started in the Lab Environment
Here are the initial instructions and explanation of the lab environment. Read this while your environment is busy creating itself from nothing. Yes, this violates physics; we know. How fun!
Challenge
Exploiting a simple command injection vulnerability
In this challenge, you will interface with a web API and exploit a simple command injection vulnerability. You will execute commands on a remote system via the web API.
Challenge
Bypassing a command injection blocklist
In this challenge, you will encounter a naive blocklist which will prevent you from using the simple command injection approach taken in the previous challenge. However, you will learn that there are a number of different ways to achieve the same command injection result which can be used to bypass a naive blocklist. Furthermore, you will learn how to execute commands with spaces, even when spaces are not directly permitted as an input.
Challenge
Executing arbitrary commands
In this challenge, you will encounter a more restrictive blocklist which will prevent you from using the simple command injection approach taken in the previous challenges. You will learn additional techniques and approaches to bypassing blocklists and ultimately executing arbitrary commands on the remote system.
Challenge
The Last Challenge
Welcome to the final challenge! This is your last chance to experiment in the environment. Clicking Finish Lab will end this little world that flittered into existence just for you.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.
Recommended prerequisites
- Linux Command Line Familiarity
- Interfacing with a web API