¿Serán suficientes htmlspecialchars (php) para crear archivos PDF seguros con datos ingresados por el usuario?

2

Mi aplicación crea un archivo PDF y utiliza una información ingresada por el usuario. ¿Cómo puedo evitar todos los ataques con PDF vector?

¿Serán suficientes htmlspecialchars?

No quiero habilitar JavaScript en PDF.

    
pregunta RusAlex 20.01.2012 - 06:32
fuente

1 respuesta

3

¿Cómo estás generando tus archivos PDF? A menos que esté creando un marcado HTML y use una herramienta para convertirlo a PDF, htmlspecialchars no será de ninguna utilidad para usted. < y & no son especiales en el contenido de texto PDF.

Si está utilizando las funciones de PDFlib de PHP como PDF_add_table_cell para poner su texto en el documento, no hay necesidad de ningún tipo de escape en particular. Esas funciones toman texto en bruto sin que ningún carácter sea 'especial'. Aparte del filtrado de entrada de propósito general para eliminar caracteres de control no deseados, no deben ser necesarios pasos de preparación de cadenas.

No estoy seguro de qué ataques estás tratando de evitar; el problema más común con el PDF es el malware de scripting incorporado, pero a menos que esté introduciendo el script deliberadamente (utilizando, por ejemplo, PDF_create_action ), no habrá ninguno en el documento producido.

Hubo una vulnerabilidad global de XSS en el complemento de PDF del navegador una vez que afectó a cualquier sitio que aloja un PDF; Si desea garantizar la protección contra eso para los usuarios con complementos antiguos, puede servir todos sus archivos PDF con Content-Disposition: attachment .

    
respondido por el bobince 21.01.2012 - 17:11
fuente

Lea otras preguntas en las etiquetas