gpt4 book ai didi

asp.net - ASP.NET 中的脚本漏洞 - 设置 validateRequest ="true"是个好建议吗?

转载 作者:行者123 更新时间:2023-12-02 16:38:03 24 4
gpt4 key购买 nike

我正在阅读有关 ASP.NET Script Exploits 的内容,其中一条建议是:
(强调是我的;建议是“防范脚本漏洞”部分中的#3“在网页中)

If you want your application to accept some HTML (for example, some formatting instructions from users), you should encode the HTML at the client before it is submitted to the server. For more information, see How to: Protect Against Script Exploits in a Web Application by Applying HTML Encoding to Strings.

这不是非常糟糕的建议吗?我的意思是,漏洞利用者可以通过curl 或类似的方式发送HTML,然后HTML 会以未编码的方式发送到服务器,这不太好(?)

我在这里遗漏了什么或者误解了该声明吗?

最佳答案

微软的判决并没有错,但另一方面,他们的判决还很不完整,而且是危险的。

由于默认情况下,validateRequest == true,您确实应该在客户端中对特殊 HTML 字符进行编码,以便它们首先进入服务器并绕过 validateRequest。

但是 - 他们应该强调这当然不能替代服务器端过滤和验证。

具体来说,如果您必须接受 HTML,最强烈的建议是使用白名单而不是黑色过滤(即允许非常特定的 HTML 标记并消除所有其他标记)。使用Microsoft AntiXSS library强烈推荐用于强大的用户输入过滤。这比自己“重新发明轮子”要好得多。

关于asp.net - ASP.NET 中的脚本漏洞 - 设置 validateRequest ="true"是个好建议吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7136864/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com