This challenge covers the review of a CVE and its patch

< 1 Hr.


In this lab, you will be examining a piece of code and its corresponding patch to identify a security flaw. The provided code snippet features a method named `redirect` in the `response.rb` file, which takes two parameters: `to_url` and `response_status`. The issue with the original code is that the `to_url` variable is not escaped when added to the HTML response body, making it vulnerable to Cross-Site Scripting (XSS). This flaw allows an attacker to inject malicious HTML or JavaScript if the `to_url` value is user-controlled.

The patch fixes this vulnerability by replacing the direct interpolation of `to_url` with `CGI.escapeHTML(to_url)`, which escapes any potential HTML in the `to_url` variable. This ensures that any user-controlled input is properly sanitized, preventing XSS attacks. The exercise emphasizes the importance of escaping user inputs when incorporating them into HTML content.

By completing this challenge, you will gain a better understanding of how to identify and patch XSS vulnerabilities in code. This knowledge is crucial for writing secure applications and conducting thorough code reviews.

Want to learn more? Get started with PentesterLab Pro! GO PRO