Possibile vulnerabilità nel seguente codice Php / JS

2

Mi stavo esercitando su uno dei framework di test di penetrazione open source bWAPP . Ho trovato questo codice,

 $url = "http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"];
 echo $url;

Sono stato in grado di scoprire una vulnerabilità in esso. Utilizzando proxy, sono stato in grado di modificare il parametro HOST nel corpo della richiesta, sono riuscito a riflettere lo stesso nella mia pagina. Ma quando inserisco il codice JS o il codice HTML, ottengo un errore BAD Request . Quindi, la mia prima domanda, Questa è davvero una vulnerabilità?

Nel passare al livello intermedio, ho scoperto questo pezzo di codice, che era basato su JS.

$url = "<script>document.write(document.URL)</script>";
echo $url;

Ora, qui non sono in grado di trovare alcuna vulnerabilità con questo pezzo di codice. Sono stato in grado di impedirne la visualizzazione disattivando il mio Javascript nel mio browser. Tuttavia, poiché non accetta alcun valore da parte dell'utente e basato su JS e funziona sul lato client, mi chiedo se esiste una possibilità di XSS.

    
posta M.S.P 01.04.2017 - 08:06
fonte

1 risposta

2

Entrambi i codici sono vulnerabili, ma nessuno dei due è utilizzabile con la maggior parte dei browser moderni.

Nel primo esempio, è possibile sfruttare l'eco di REQUEST_URI. L'exploitability dipende dal fatto che il browser non codifichi automaticamente i valori prima di inviare la richiesta (vedi XSS tramite REQUEST_URI ). Host Header Injection potrebbe anche essere possibile.

Nel secondo esempio, il codice è che accetta l'input dell'utente tramite document.URL . Questo è chiamato XSS basato su DOM (ma i browser moderni molto probabilmente codificheranno con URL l'URL, quindi lo sfruttamento potrebbe non essere possibile).

    
risposta data 01.04.2017 - 11:16
fonte

Leggi altre domande sui tag