¿Cómo hacer validaciones del lado del servidor en Java para evitar XSS? [cerrado]

3

Cuando uso el método Obtener e interceptar la solicitud con cualquier herramienta proxy. luego, las secuencias de comandos entre sitios debido a la ausencia de validaciones del lado del servidor. Pero en el caso del método de publicación, como sabemos, los datos fluyen en el cuerpo de la solicitud y cuando intercepto cualquier parámetro del cuerpo con el script, se ejecuta nuevamente XSS.

Quiero saber si necesito hacer validaciones en el lado del servidor en cada pantalla o cualquier cosa global que pueda salvarme de XSS. Estoy usando Java J2

    
pregunta Ayush3g 25.11.2013 - 16:25
fuente

2 respuestas

3

La hoja de trucos OWASP tiene varias sugerencias para mitigar los ataques de XSS.

Si ya tiene un marco que está utilizando (por ejemplo, Spring o Struts), es posible que tengan algunos mecanismos de protección que pueden configurarse.

Si está buscando un marco de complemento, considere OWASP ESAPI o OWASP Proyecto de codificador Java .

    
respondido por el CoverosGene 25.11.2013 - 16:43
fuente
0

Obtener y publicar son solo los métodos utilizados por HTTP para enviar datos al servidor. En general, se observa XSS cuando el servidor refleja los datos que no son de confianza recibidos del cliente sin desinfectarlos. Esto es independiente de usar get o post.

Los datos que no son de confianza son los datos provenientes del lado del cliente que pueden ser modificados por el cliente (esto incluye campos ocultos y campos de encabezado HTTP).

La validación del lado del servidor es una buena primera línea de defensa contra XSS y, dado que está utilizando Java, es posible que desee escribir un filtro que realice validaciones para todas las solicitudes. La mejor manera de protegerse contra XSS es el uso de codificación. Estos enlaces pueden ayudar

Introducción a XSS

Cheatsheet

codificación HTML para proteger contra XSS

    
respondido por el Shurmajee 26.11.2013 - 04:22
fuente

Lea otras preguntas en las etiquetas