Remover Tags HTML maliciosas  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
EderBaum
JavaBaby
[Avatar]

Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline

Olá.

Preciso desenvolver um sistema que a pessoa possa mandar mensagens em HTML.
Até ai tudo bem, porém por segurança tenho que impedir que a pessoa possa inserir possivel código malicioso como:


Não só isso, impedir scripts escondidos como:
E transformá-lo em:


Alguém conhece alguma classe pronta que eu possa usar?

Valeu

sabesim.com.br
[WWW]
marciocamurati
JavaEvangelist
[Avatar]

Membro desde: 29/05/2004 14:54:36
Mensagens: 322
Localização: São Paulo
Offline

Se você estiver usando JSTL pode usar o atributo escapeXml="false" que exite no caso as tags html como texto e não as executa no navegador.

[]s

Marcio Camurati
[WWW] [MSN] [ICQ]
EderBaum
JavaBaby
[Avatar]

Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline

Não quero eliminar todas as tags, mas apenas agumas.

para eliminar TAGS já tenho a solução:



O problema é com atributos como:

ou


(repare as aspas que podem ser simples ou duplas, ou ainda inexistentes)

sabesim.com.br
[WWW]
Sami Koivu
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Offline

É complicado mesmo. Caso você tiver que fazer na unha, a única dica que sei dar é: (e talvez seja óbvio para você, mas aqui vai mesmo assim) define os tags que devem ser aceitos e os atributos para cada tag que devem ser aceitos, e elimine tudo resto. Senão, a pessoa querendo atacar seu site vai sempre pensar em mais um jeito de diferente de escrever isso.

(Slightly) Random Broken Thoughts on Java Security
[Email] [WWW] [Yahoo!] [MSN]
EderBaum
JavaBaby
[Avatar]

Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline

Ressuscitando meu velho tópico.

A resposta para isto é: www.owasp.org/index.php/Category:OWASP_AntiSamy_Project

Há alguns bugs ainda com ele, mas quebra um galhão

sabesim.com.br
[WWW]
kfazolin
Entusiasta Java

Membro desde: 23/11/2009 17:05:22
Mensagens: 21
Offline

Eu sei que o tópico é velho, porém tive o mesmo problema e acho que outros também podem ter...

Achei outra solução, que é usando o Jsoup...

ai vai um exemplo

tem tudo lah no site deles...
http://jsoup.org/
Boa sorte !!

"e conhecereis a verdade, e a verdade vos libertará."
João 8:32
www.biblia.com.br
EderBaum
JavaBaby
[Avatar]

Membro desde: 27/07/2005 22:58:32
Mensagens: 92
Offline

Atualmente uso esta solução aqui -> http://patapage.com/applications/pataPage/site/test/testSanitize.jsp

No entanto, olhando por alto a solução que você enviou parece ser mais robusta, pois esta ai de cima tive de alterar muitos Bugs que encontrei.

Já a outra solução do owasp, tive de descartar, pois em alguns casos ao limpar algum texto, a coisa simplesmente travava minha aplicação usando toda memoria RAM

This message was edited 2 times. Last update was at 01/03/2011 13:42:03


sabesim.com.br
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team