2011-06-09 14 views
5
<?php 
setcookie('test', "test\r\n<script>alert(1)</script>"); 
echo 1; 

Pero resulta PHP automáticamente hace la codificación:¿PHP es inmune a las vulnerabilidades de "HTTP Response Splitting"?

Set-Cookie: test=test%0D%0A%3Cscript%3Ealert%281%29%3C%2Fscript%3E 

¿Eso quiere decir que sea imposible reproducir HTTP response splitting en PHP?

+0

Incluso las versiones anteriores de php filtran todas las llamadas de encabezado y de conjunto. ¿Y por qué no acabas de mostrar la etiqueta del script con echo en su lugar? – mario

+0

@mario, por favor revise el enlace que proporcioné arriba. – cpuer

+0

¿Y qué hay de eso? No explica el propósito de * su * pregunta. De lo contrario, la respuesta es simple: sí, no reproducible en las versiones actuales de php. El artículo de wikipedia dedica un párrafo entero a explicar exactamente eso. – mario

Respuesta

8

Desde el artículo linked Wikipedia:

[...] A pesar de la división de respuesta no es específico de PHP, el intérprete PHP contiene protección contra el ataque desde la versión 4.4.2 y 5.1.2. [1]

header y setcookie contienen mitigaciones contra la división de respuesta/cabecera. No es posible.

+0

¿Es posible desactivar la protección? – Arin