Tenemos un informe en nuestra aplicación web que se muestra en formato tabular en HTML. Este informe tiene la disposición para ser descargado como PDF haciendo clic en el botón download as PDF
. La pregunta es sobre la forma en que se implementa esta disposición de descarga de PDF. Me piden que escriba un servicio de back-end que convertiría la cadena HTML en bruto a PDF descargable. Para convertir el HTML en PDF, estamos utilizando la biblioteca The Flying Saucer para Java. Ahora, la forma en que se supone que debe funcionar es que obtendré contenido HTML en bruto como una cadena como:
<table id="new-table">
<thead>
<tr>
<th class="model">Column 1</th>
<th class="description">Column 2</th>
<th class="quantity">Column-3</th>
<th class="listDollars">Column-4</th>
<th class="payout">Column-5</th>
</thead>
<tbody>
<tr id="row-H2285" style="background: #FFFFFF;" class="modelRow">
<td class="model">H2285</td>
<td class="description">F125</td>
<td>16</td>
<td class="list"></td>
<td class="Percent">... and so on
Desde la parte frontal de los parámetros de solicitud, tengo que convertir esta cadena HTML utilizando el platillo volante y devolver un archivo PDF. Mi pregunta es: ¿hay alguna manera de que un atacante pueda inyectar código malicioso dentro de este contenido HTML y enviarlo al servicio de back-end? ¿Qué podría ser perjudicial para cualquiera que abra el archivo PDF?
He buscado en Google cualquier problema de seguridad en la biblioteca de platillos voladores, pero no pude encontrar nada. Pero encontré esta pregunta en este sitio en Cómo inyectar código malicioso en pdf o jpeg y hay otro Detección de JavaScript malicioso en PDF