¿Cómo validar los datos de Excel para protegerlos contra XSS?

2

Mi aplicación está construyendo dinámicamente una URL de origen y luego escribiendo el archivo de recursos (Excel) directamente en la respuesta. La URL se lee desde un archivo de propiedades, en función del entorno de la aplicación. (¡No relacionado con la entrada del usuario!)

Nuestra herramienta de escaneo está reportando una vulnerabilidad XSS en BufferedOutputStream.write() : "Neutralización incorrecta de etiquetas HTML relacionadas con secuencias de comandos en una página web".

  • ¿Es este un error válido?
  • Si es así, ¿cómo puedo proteger al usuario de esto?

Creo que los datos de Excel serán XML, por lo que no sería posible eliminar las etiquetas.

public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException


    {

    HttpSession session = req.getSession();
    OutputStream os = res.getOutputStream();
    BufferedOutputStream ros = null;
    InputStream iStr = null;
    BufferedInputStream bistr = null;

    res.setContentType(mimeType);
try
    {
        ros = new BufferedOutputStream(os);
        URL location = new URL(resourceName);
        URLConnection input = location.openConnection();//remote excel file

        int len = input.getContentLength();
        res.setContentLength(len);

        iStr = input.getInputStream();
        bistr = new BufferedInputStream(iStr);

        byte[] buffer = new byte[len];
        int bytesRead = 0;
        while(-1 != (bytesRead = bistr.read(buffer, 0, buffer.length)))
        {
            ros.write(buffer, 0, bytesRead);
        }
    }
    
pregunta Destruktor 02.12.2015 - 18:50
fuente

0 respuestas

Lea otras preguntas en las etiquetas