Skip to main content

.NET Cross Site Scripting

Overview A vulnerability in the .Net Request Validation mechanism allows bypassing the filter and execution of malicious scripts in the browsers of users via Cross Site Scripting attacks. The exploitation technique explained here allows sending tags through the Request Validation Filter in a manner that will pass browser syntax and be rendered by browsers.
Details The .Net Request Validation mechanism prevents attackers from sending tags as the value of the parameters. It is however possible to bypass this mechanism and send arbitrary tags that facilitate script execution. This is caused by the fact that although <tag> is restricted by the Request Validation filter, <%tag> is not restricted but parsed by Internet Explorer browsers as a valid tag.

Exploit An example of the exploitation of this vulnerability would be crafting a link to a page that reflects a parameter value to the user. As the value of the parameter the attacker would provide a <%tag> with the style attribute and an expression, for example:<%tag style="xss:expression(alert(123))" > This will bypass the filter and execute the script in the brackets.

Affected Systems This vulnerability has been tested on .Net frameworks 2.0 and above.