Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ASP.NET webforms操作是否存在xss威胁?_Javascript_Asp.net_Webforms_Xss_Antixsslibrary - Fatal编程技术网

Javascript ASP.NET webforms操作是否存在xss威胁?

Javascript ASP.NET webforms操作是否存在xss威胁?,javascript,asp.net,webforms,xss,antixsslibrary,Javascript,Asp.net,Webforms,Xss,Antixsslibrary,我目前正在锁定一个报告网站XSS漏洞的应用程序 该网站是为ASP.NET 2.0构建的,但已升级到ASP.NET 4.0库中的功能 我已经用安全工具扫描了这个网站,并且有一些页面报告说受到XSS(反射)攻击 我注意到,在任何网页上似乎都可以针对QueryString参数包含JavaScript,因为ASP.NET会自动将其附加到页面的表单操作中 现在,如果ValidateResponse处于启用状态,并且URL中的JavaScript是basic,那么页面将如预期的那样出错。 如果对JavaSc

我目前正在锁定一个报告网站XSS漏洞的应用程序

该网站是为ASP.NET 2.0构建的,但已升级到ASP.NET 4.0库中的功能

我已经用安全工具扫描了这个网站,并且有一些页面报告说受到XSS(反射)攻击

我注意到,在任何网页上似乎都可以针对QueryString参数包含JavaScript,因为ASP.NET会自动将其附加到页面的表单操作中

现在,如果ValidateResponse处于启用状态,并且URL中的JavaScript是basic,那么页面将如预期的那样出错。 如果对JavaScript进行了编码,那么ValidateResponse似乎会忽略它,从而导致安全测试应用程序在测试通过HTML时抛出错误

例如:

The url /product.aspx?ProductGuid=1234
Case 1:  /product.aspx?ProductGuid=<script>alert(1);</script>
    In this case, ValidateResponse picks up the pieces, and errors for you.
Case 2:  product.aspx?ProductGuid=%3Cscript%3Ealert%281%29%3B%3C%2Fscript%3E
    In this case, ValidateResponse sees no issue.
    The JavaScript is pushed through to the browser by ASP.NET itself, in the form's action.
url/product.aspx?ProductGuid=1234
案例1:/product.aspx?ProductGuid=alert(1);
在这种情况下,ValidateResponse将为您拾取片段和错误。
案例2:product.aspx?产品GUID=%3Cscript%3Ealert%281%29%3B%3C%2Fscript%3E
在这种情况下,ValidateResponse看不到任何问题。
在表单的操作中,JavaScript由ASP.NET本身推送到浏览器。
我理解误报的概念,也许.NET可以确保动作中的URL编码正确,但我不确定,因为我找不到任何确定的信息

这类问题是否为假阳性? 如果没有,如何正确地清理表单的操作

我甚至找不到有人问我这个问题,但在一些地方,我发现我的一般问题都没有答案


感谢所有人的帮助。

您是否尝试过运行被确定为问题的安全应用程序的测试?访问/product.aspx时会发生什么情况?ProductGuid=%3Cscript%3Ealert%281%29%3B%3C%2Fscript%3E?我会在Firefox中检查这一点,并确保浏览器的XSS过滤器被禁用。如果攻击字符串反映在响应中并执行Javascript,则存在合法漏洞。MrWerbenjagermanjensen,谢谢。我已经在浏览器中运行了它,它确实反映在HTML响应中。然而,据我所知,它并没有执行。现在,这可能只是因为我没有100%正确的编码,但它不能给我令人信服的证据证明这是一个假阳性。事实上,ASP.NET将获取URL并将其放入表单的操作中。我无法控制这一切。但我不是唯一一个有这个问题的人。我对ASP.NET不熟悉。表单发布到与表单相同的URL,并且在获取表单时在URL中包含额外的URL参数,这是否会导致这些参数在表单的HTML中得到响应?例如,如果URL是
/product.aspx?param=val
,那么表单HTML将包括
?MrWerbenjagermanjensen,是的,就是这样。ASP.NET会自动将URL添加到表单操作中。在webforms中,每页只有一个表单,由MS管理。当创建页面时,URL就是操作,包括任何格式错误或恶意内容。