Retrieve Content Using Malicious XML External Entities (XXE)
In this lab, you'll learn how to identify and exploit an Extensible Markup Language (XML) External Entity (XEE) attack. When you've finished with this lab, you'll know how to exploit a vulnerable endpoint to read local files on a remote system.
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
Parsing an XML schema
In this challenge, you will access a web application and parse error messages to create an Extensible Markup Language (XML) document that complies with a schema. Once created, the XML document can be accepted and processed by the application.
Challenge
Exploiting an XML External Entity (XXE) injection
In this challenge, you will introduce an additional DOCTYPE element to the XML structure recovered in the previous challenge. The DOCTYPE element will define an external entity which contains a local file path on the remote server. Once the DOCTYPE is defined, you will edit the XML document to also make use of the external entity, in order to exploit the vulnerable application and read the contents of the file 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
- Using a Linux operating system
- Linux file system and common file locations
- High-level understanding of XML syntax