The SpiderLabs Research Team is pleased to announce the release of the ModSecurity XSS Evasion Challenge for the community.
The purpose of this challenge is to show possible XSS defenses by using ModSecurity and to identify any weaknesses.
The form on this page is vulnerable to reflected XSS. Data passed within the
parameter (either GET or POST) will be reflected back to this same page without any output encoding/escaping.
XSS Defense #1: Inbound Blacklist Regex Filters
We have activated
updated XSS filters from the OWASP ModSecurity Core Rule Set (CRS).
XSS Defense #2: JS Sandbox Injection
This defensive layer uses ModSecurity's Data Modification capability (@rsub operator) to insert Gareth Heyes' (
) JS Sandbox called
to the beginning of html responses.
It is important to understand what a JS sandbox is and how it works. You may be able to execute JS code however it is in a sandboxed environment.
For example - preventing a JS alert popup box is not the goal here but rather protecting DOM elements from being accessed
Your challenge is twofold:
1. Filter Evasion
You must execute a reflected XSS attack accessing one of the DOM elements listed below
triggering an XSS filter alert. XSS Fitler Alerts will be displayed below.
You must bypass the MentalJS JS Sandbox protections and successfully execute a reflected XSS attack that executes JS code in your browser. A successful attack will be able to access one of the following DOM elements:
- Trigger the youWon JS function
- Access document.location that is not undefined or sandboxed
- Access document.cookie that is not undefined or sandboxed
You may toggle On/Off the defenses by checking the box in the form below. This includes disable the MentalJS Sandbox injection and also will add the X-XSS-Protection: 0 response header to temporarily disable any browser side XSS filtering. This will help to facilitate testing of working XSS payloads.
If you are successful, please notify us at any of the following places:
- @ModSecurity on Twitter
- OWASP ModSecurity Core Rule Set Mail-list
- Report to GitHub Issues
Each winner will receive a free copy of The Web Application Defender's Cookbook: Battling Hackers and Protecting Users
Blackhat Arsenal Participation
If you happen to be in Las Vegas this week for Blackhat USA, stop by the Arsenal Demos on Thursday afternoon as ModSecurity will be participating. You can try to hack at this challenge live in person!