2015-03-25 8 views
0

Я использую Fortify для сканирования своего кода. Он идентифицирует ошибку «Header Manipulation: Cookies». Далее он говорит, что «включает неутвержденные данные в HTTP-файле cookie». Мой код ниже.HP Fortify Cookie Ошибка манипулятора заголовка

String cookieName = "Foo"; 
System.Text.RegularExpressions.Regex rgx = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9 -]"); 
String FullCookieName = ".OmniPro" + cookieName; 
FullCookieName = rgx.Replace(FullCookieName, ""); 
HttpCookie oldCookie = Request.Cookies[FullCookieName] ; 
if (oldCookie != null) 
{ 
    oldCookie.Expires = DateTime.Now.AddDays(-1); 
    Response.Cookies.Add(oldCookie); 
} 

Ошибка указана в «Cookies.Add». Мое намерение - просто закончить старый файл cookie. Я не нашел способ сделать Fortify счастливым. Любая помощь будет оценена по достоинству.

ответ

1

Я изменил код, как показано ниже, и Fortify принял его.

String cookieName = "Foo" 
System.Text.RegularExpressions.Regex rgx = new System.Text.RegularExpressions.Regex("[^a-zA-Z0-9 -]"); 
String FullCookieName = ".OmniPro" + cookieName; 
HttpCookie oldCookie = Request.Cookies[FullCookieName]; 
if (oldCookie != null) 
{ 
    String DeleteCookieName = rgx.Replace(FullCookieName, ""); 
    HttpCookie expiredCookie = new HttpCookie(DeleteCookieName) { Expires = DateTime.Now.AddDays(-1) }; 
    HttpContext.Current.Response.Cookies.Add(expiredCookie); // overwrite it 
} 

Благодаря

0

Проблема заключается в том, чтобы удалить старый файл cookie, а затем отправить его обратно. Куки-файлы не считаются доверенным элементом для Fortify, потому что они могут быть отредактированы пользователем. Вы хотите проверить, что находится внутри файла cookie, прежде чем добавлять его в ответ. Даже когда вы это сделаете, Fortify по-прежнему будет сообщать о проблеме. При выполнении проверки ввода Fortify не доверяет вашей проверке по своей сути. Вы должны создать собственное правило для этого. Как только вы считаете, что вход достаточно дезинфицирован, вы также можете просто подавить проблему.

У Fortify сообщество пользователей: https://protect724.hp.com, также контролируемое технической поддержкой. Вы можете получить более быстрые ответы там.