首页 > 解决方案 > 如何修复 checkmarx 扫描反射 XSS 特定客户端

问题描述

获取 QueryString_Application 元素的客户端控制数据。该元素的值在客户端代码中使用,没有经过适当的清理或验证,最终集成到 HTML 代码中

代码

if (txtUserPassword.Text == "")
{
    if (!string.IsNullOrEmpty(hiddenPassword.Value))
    {
        txtUserPassword.Text = hiddenPassword.Value;
        txtUserPassword.Attributes.Add("value", hiddenPassword.Value);
    }
}

标签: asp.net

解决方案


修复Reflected XSS漏洞需要在渲染txtUserPassword之前输出encode值

if (txtUserPassword.Text == "")
{
    if (!string.IsNullOrEmpty(hiddenPassword.Value))
    {
        txtUserPassword.Text = HttpUtility.HtmlEncode(hiddenPassword.Value);
        txtUserPassword.Attributes.Add("value", hiddenPassword.Value);
    }
}

可以在OWASP XSS 预防备忘单上找到更多预防技术


推荐阅读