.Net Cross Site Scripting - Request Validation Bypassing

作者:Secer 发布时间:March 29, 2013 分类:黑客技巧


Seeker Research Center
By Zamir Paltiel, August 2012


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.


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.

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:

http://www.vulnerablesite.com/login.aspx?param=‹%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.

Vendor Response

"The Request Validation Feature in ASP.NET is designed to perform basic input validation. It is not designed to make security decisions for applications developed using ASP.NET. Only the original developers can determine what content the ASP.NET application is designed to process and handle. Microsoft recommends that all software developers perform input/data validation of all sources. We do this to encourage our customers to make more robust applications that are less susceptible to security issues. The Request Validation Feature was designed and released to help developers in this effort. For more information about our recommendations to software developers, please see the following MSDN article: http://msdn.microsoft.com/en-us/library/ff649487.aspx#pagguidelines0001_inputdatavalidation."

Microsoft therefore will not be releasing a fix for this issue.

这个请求验证本来就帮助做一些检测,不要这么懒去写检测函数啊,虽然我很努力去提高asp.net的安全,但是总是百密一疏嘛,就像啪啪啪 做了安全也是有百分之几会中枪的嘛,你不能中枪去怪TT的厂商啊。多做点安全措施嘛,该结扎的去结扎,该不要就不要啦= =,我微软就不去管这问题了,管这么多,医院肿么活。如果你想有更多的了解的话,可以去看看http://msdn.microsoft.com/en- us/library/ff649487.aspx#pagguidelines0001_inputdatavalidation.

标签: xss

添加新评论 »