Nota inicial: webdedescargas.com no es un sitio real, solo es un ejemplo. webdedescargas.com actualmente es un dominio parqueado sin actividad alguna.
estuve investigando un poco sobre una falla de seguridad poco común que pude encontrar en un sitio web de descargas donde el archivo se mostraba como subdominio, por ejemplo:
Web normal --->
http://firefox.webdedescargas.com/al crear mi propia petición GET con netcat pensé
"que pasaría si modifico el header 'host:' ?" y al hacerlo pude darme cuenta que al igual que otros sitios similares sus valores de respuesta se reflejan en ese header y no necesariamente en el subdominio al que le hize GET. Por ejemplo:
nc -v www.webdedescargas.com 80
GET / HTTP/1.1
connection: close
host: <h1>XSS.webdedescargas.com
Luego el servidor me responde con cada valor como si mi xss fuera el subdomino válido.
Busqué si había alguna información al respecto y encontré una forma:
http://serhost.com/blog/comments.php?y=06&m=10&entry=entry061022-154634donde puedes hacerlo con un .htaccess de la siguiente manera:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} !^(www\.)?serhost\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^\.]+)\.serhost\.com$ [NC]
RewriteRule ^(.*)$ pruebas/$1 [QSA,L]
Justamente en este ejemplo los subdominios son convertidos en directorios según la request.
Con este dato ya podemos causar desde un XSS persistente como SQL inyecciones dentro de cualquier header utilizando cualquier herramienta de conexión remota.
El resultado del test.html fue justamente el contenido del software llamado nero pero reemplazemos eso por un XSS y verás como se ejecuta, en tagboards y chats eso podría causar un xss persistente o en algunos casos inyecciones sql donde normalmente no tienes acceso a mayores modificaciones para ejecutar las sentencias sql donde por lo visto la constante
$_SERVER['SERVER_NAME'] también es afectada (justamente donde no se pensaba que podría llegar algún tipo de ataque en sistemas cms conocidos) asi que ojo al momento de programar.