Ataque XSS

Olá comunidade,

Eu tenho uma aplicação que está sofrendo com ataques do tipo XSS. O campo que eles utilizam para tal ataque e um campo textarea com um editor rico.

Como eu posso resolver este problema visto que eu não posso eliminar todos os tipos de tags enviadas, porque se não o editor rico iria perder suas funcionalidades?

Obrigado Pela Ajuda.

Bernardo,

O ideal é você “escapar” todas as saídas desse campo, isto é, onde você printa no html o valor que foi digitado neste campo faça algo como:

<%=org.apache.commons.lang.StringEscapeUtils.escapeHtml(valorDoSeuCampo)%>

A classe StringEscapeUtils faz este trabalho de “escapar”:

http://commons.apache.org/lang/api-release/org/apache/commons/lang/StringEscapeUtils.html#escapeHtml(java.lang.String)

Abraços

Hmmm…

Mas não tem como eu tratar a entrada de dados no banco?

Bernardo,

A minha primeira sugestão não foi boa, porque só agora entendi que você deixa o usuário preencher um campo com HTML.

Outra sugestão é permitir apenas algumas tags, no caso utilizar uma expressão regular para verificar se o usuário preencheu somente com as tags aceitas (é mais fácil fazer uma white list do que uma black list).

Abraços

Fiz um filtro usando expressão regular como você falou e funcionou perfeitamenta.

Obrigado.

:smiley: