如何在Asp.Net中防止XSS在数据绑定表达式中

问题描述

我正在研究一个安全工具在以下代码中检测到xss漏洞的项目

            <asp:DataList ID="lstForums" SkinID="lstForums2" runat="server">
                <ItemTemplate>
                    <tr>
                        <td>

                            <%# DataBinder.Eval(Container.DataItem,"Description")%>       
                        </td>
                    </tr>
                </ItemTemplate>
            </asp:DataList>

然后解决添加HttpUtility.EncodeHtml的问题

<%# HttpUtility.HtmlEncode(DataBinder.Eval(Container.DataItem,"Description"))%>  

但是安全扫描的结果仍然相同,我应该如何使该代码具有xss证明?

注意:当我删除该行时,安全扫描将通过

解决方法

如果其他人也有同样的问题,我找到了答案

尽管HttpUtiltiy.EncodeHtmlServer.EncodeHtml在做同样的事情,但是安全工具(checkmarx)仅将Server.EncodeHtml视为XSS的阻止代码。

使用HttpUtility

enter image description here

使用服务器

enter image description here