Aplicar seguridad XSS

Iniciado por bertamax, 22 Julio 2010, 09:47 AM

0 Miembros y 1 Visitante están viendo este tema.

bertamax

Hola,

Esta parte del código en java es vulnerable a XSS:

<%String espe=es[1];%>
                    email antiguo: <input type="text" name="espeA" value=<%=espe%>><br>
                     <br>email nuevo: <input type="text" name="espe"><br>
                     <br><input type="submit" value="Modificar">
                <%}else{%>
                <input type="hidden" name="oculto" value="a">
                <%}%>
                <%if(request.getParameter("espe")!=null){
                String especialidad=request.getParameter("espe");
                int cod=Integer.parseInt(request.getParameter("oculto"));

He estado buscando cómo resolverlo por este foro, y he visto que podía añadir es script http://www.json.org/json2.jsp para resolverlo, pero no lo se hacer.
O añadir htaccess, pero tampoco lo se.

Por otro sitio he visto que se podía resolver con JSTL, y tambien con la librería ESAPI, pero con JSTL no me funciona y con ESAPI no tengo ni idea.

Total que despues de documentarme un monton estoy super perdida.

Me gustaría que me ayudaran a resolverlo, aunque sea de la manera más sencilla, porque soy principiante

Erfiug


<%String espe=es[1];%>
                    email antiguo: <input type="text" name="espeA" value=<%=espe%>><br>
                     <br>email nuevo: <input type="text" name="espe"><br>
                     <br><input type="submit" value="Modificar">
                <%}else{%>
                <input type="hidden" name="oculto" value="a">
                <%}%>
                <%if(request.getParameter("espe")!=null){
                String especialidad=request.getParameter("espe");
                int cod=Integer.parseInt(request.getParameter("oculto"));
                especialidad = especialidad.replaceAll("<", "&lt;").replaceAll(">", "&gt;");
                especialidad = especialidad.replaceAll("eval\\((.*)\\)", "");
                especialidad = especialidad.replaceAll("[\\\"\\\'][\\s]*((?i)javascript):(.*)[\\\"\\\']", "\"\"");
                especialidad = especialidad.replaceAll("((?i)script)", "");


Que me corrijan si me equivoco, pero creo que así no deberías tener problemas.

Saludos.

Darioxhcx

asdas html entities no te facilitaria el trabajo ?
saludos

~ Yoya ~

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

bertamax

Gracias a todos por responder.

Muchas gracias Erfiug porque funciona.

;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-) ;-)