4
respostas

Como restringir a entrada dos comandos CR(0x13) e LR(0x10) vindas por requisições HTTP?

Galera, bom dia, sou programador java, a pouco tempo, e estou dando manutenção em uma aplicação java web que não foi desenvolvida por mim, ele usa VRaptor 3, estou estudando o Vraptor, pois não conhecia e recentemente passei um scanner na aplicação para pegar vulnerabilidades e a ferramente acusou possibilidade de ataque injection CRLF, pesquisei bastante antes de vir pedir ajuda pra vcs aqui, não sei como seria o melhor caminho para resolver esse problema, pensei em restringir a entreda na URL dos caracteres, mas não consigo encontrar onde eu poderia incluir isso.

quem puder me ajudar.

Obrigado. abs.

Marcelo.

4 respostas

Oi Marcelo, boa pergunta. Acho que o melhor jeito é vc garantir isso do lado do servidor.. Você pode santitizar os parâmetros escapando os caracteres maliciosos. O VRaptor suporta a criação de convertes, então a ideia é vc criar uma classe nova sua e criar um converter que só para o valor para o objeto dessa classe depois que ele tiver sido sanitizado.

Tudo bem Alberto? obrigado pelo retorno imediato.

Então, hoje com um pouco mais de experiência com Vraptor, pensei em fazer essa sanitização em um interceptor, sei lá, talvez pegando url da request, mas já fiz alguns testes e não obtive muito sucesso, o que vc acha?

Quando vc dia do lado do servidor, seria do controller pra dentro certo? e não no container, certo?

Olha eu prefiro com um converter mesmo, cada um decide onde usar. Ou vc pode tentar fazer um converter para String, não sei se ele deixa, e aí fica geral. Todo mundo que for receber o tipo String, vai ta sanitizado.

Dei uma lida por cima aqui sobre converter, mas ainda não sei como fazer para implementar ele e nem como ele sanitizar minha url ou os paramentros na requisição HTTP, aqui na alura temos algum cursos que pode me ajudar? ou algum tutorial na internet que vc conheça que possa me ajudar?

ou o que eu devo ler para me dar um caminho.

Desde já agradeço cara. =)