A client-side prototype pollution source is any user-controlled JSON property, query string, or hash parameter that is converted to a JavaScript object and then merged with another object. This enables an attacker to use property keys, such as __proto__, to assign properties to the Object.prototype or other global prototypes.
Client-side prototype pollution is not a vulnerability in its own right. However, when paired with a gadget, this may lead to vulnerabilities such as DOM XSS, which could enable the attacker to control JavaScript on the page.
Takes place entirely in the browser, modifying the page’s Document Object Model (DOM) after it has loaded. The user’s browser processes malicious data (e.g., from the URL or a script), causing client-side code to inject the payload into the page.
I tried to exploit this vulnerability but failed.
Below is what I Tired.
I have Identified that URL takes user input value. [Search Term]
Now I will try to RUN XXS payload. First, I will try the basic payload.
Running above URL resulted in error stating that "Tag is not allowed"
So, Let's Try the payload which doesn't have TAG in it.
This time I did not encounter any errors. Moreover, this payload did not trigger an alert box.
This vulnerability occurs when a web application processes untrusted input from the browser (e.g., URL parameters or fragments) and dynamically sets the destination of a redirect on the client side using JavaScript.
I can see only one URL parameter that accepts user input, which is called search. When I try to add a link to another page, for example, https://www.google.comit does not display any output. Based on this, I am assuming that it is not working.