2014-01-04 2 views
1

Я тестирую приложение perffaces (4.0) для уязвимостей для межсайтового скриптинга. Теперь я нашел проблему с атрибутом заголовка p: panel.Уязвимость XSS в p: panel?

<p:panel header="#{post.title}" footer="Date: #{post.date}"> 

Значение атрибута заголовка - это данные, вставленные пользователями. Когда post.title содержит Javascript, он запускается браузером. Например, когда post.title имеет значение <script>alert(1)</script>, появляется всплывающее окно.

Я не понимаю, почему он не закодирован в этом случае, потому что я думал, что при использовании языка выражения он выводится в любое время. Можете ли вы мне помочь, почему существует уязвимость XSS?

ответ

1

Мы также столкнулись с этой проблемой и заполнили сообщение об ошибке: http://code.google.com/p/primefaces/issues/detail?id=6766

Дополнительно был обсуждением этого вопроса в форуме PrimeFaces: http://forum.primefaces.org/viewtopic.php?f=3&t=34678

В качестве временного решения можно использовать панель следующим образом :

<p:panel> 
    <f:facet name="header"> 
     #{myBean.usersText} 
    </f:facet> 
    <f:facet name="footer"> 
     #{myBean.usersText}       
    </f:facet> 
    </p:panel> 

Пожалуйста, обратите внимание, что ПДВ не убежали в любое время, когда ДИСПЛЕЙ для пользователей. Это либо компонент, либо ответственность разработчиков за это. Большинство компонентов, таких как h: outputText, однако избегайте заданного ввода.

Смежные вопросы