如何通过ASP中代理工具中的拦截器阻止跨站点脚本(XSS)网



我有一个名字和姓氏都有文本框的页面。当我测试页面并使用代理工具(如BURP套件)中的拦截器使用Doe%uff1cscript%uff1ealert%uff0812345%uff09%uff1c/script%uff1更新姓氏时,姓氏将存储为<脚本>警报(12345)<脚本>数据库中。

我试过使用微软的antixss库,但没有成功。以下是我使用的代码:Dim Lname As String=Microsoft。安全应用编码器。HtmlEncode(txtLName.Text)

有人建议我如何防止这种情况发生吗?

只对输出进行HTML编码,而不是在存储时进行编码。

例如<变成&lt;&变成&amp;

有关更多详细信息,请参阅OWASP XSS(跨站点脚本)预防作弊表。

在。NET中,您可以在视图中使用Server.HTMLEncode<%:myVar %>来执行此操作。

最新更新