Step 1: Target Identification: The attacker identifies a web server running a vulnerable version of Mongoose (2.8.0 or earlier).
Step 2: Crafting the Payload: The attacker constructs a malicious URI by appending ::$DATA to the path of a target file (e.g., http://example.com/index.html::$DATA).
Step 3: Request Submission: The attacker sends the crafted URI to the vulnerable Mongoose web server.
Step 4: Vulnerability Trigger: The Mongoose server processes the request, fails to properly sanitize the URI, and attempts to retrieve the file.
Step 5: Information Disclosure: The server, due to the lack of proper input validation, returns the source code of the requested file instead of rendering the webpage, revealing the source code to the attacker.