Reflected_XSS_All_Clients (проблема очистки C#)

Я использую инструмент Checkmarx для сканирования кода на наличие уязвимостей безопасности. Одним из них является «Отраженный XSS для всех клиентов». Общее решение для очистки — использовать HttpUtility.UrlEncode или HttpUtility.HtmlEncode. Я столкнулся с кодом, в котором любая из этих функций нарушает код, поскольку удаляет теги, которые в данном случае необходимы для перенаправления. Это не код, который я написал, а сканирование клиента. Есть идеи, как исправить эту уязвимость?

              private string GetRedirectForm(string url, string response)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("<html>");
            sb.AppendFormat("<body onload='document.forms[0].submit()'>");
            sb.AppendFormat("<form action='{0}' method='post'>", url);
            sb.AppendFormat("<input type='hidden' name='SAMLResponse' value='{0}'>", response);
            sb.Append("</form>");
            sb.Append("</body>");
            sb.Append("</html>");
            return HttpUtility.UrlEncode( sb.ToString());
        }

0 ответов

Другие вопросы по тегам