Actualmente estoy experimentando con el encabezado HTTP "Range: bytes = XXX". Independientemente de la posibilidad de usarlo para el llamado ataque "Apache Killer" DoS (versión de Apache sin parche, etc.), ¿es posible utilizarlo incorrectamente para un ataque XSS? Mi idea es usar muchos rangos para generar un XSS a partir de un archivo dado (si es lo suficientemente grande y contiene todos los caracteres necesarios).
Request:
...
Range: bytes=x1-x2,x3-x4,x5-x6
...
Tomamos solo los rangos que necesitamos para generar un nuevo mensaje. Pero la respuesta parece ser la siguiente:
Response:
--99999999999999999999<br>
Content-Type: application/x-javascript<br>
Content-Range: bytes x1-x2/FILE_SIZE<br>
<script>
--99999999999999999999<br>
Content-Type: application/x-javascript<br>
Content-Range: bytes x3-x4/FILE_SIZE<br>
alert
--99999999999999999999
Content-Type: application/x-javascript
Content-Range: bytes x5-x6/FILE_SIZE
('
--99999999999999999999--
¿Es posible desactivar (en el lado del cliente) estas líneas adicionales para que la respuesta no se divida como se muestra arriba: (?)
--99999999999999999999
Content-Type: application/x-javascript
Content-Range: bytes x5-x6/FILE_SIZE
Algunos conjuntos de rangos de bytes → <script>alert('XSS');</script>