Fine di un blocco javascript senza carattere barra

8

Situazione molto frustrante su un pentest che sto facendo attualmente - Ho trovato un posto dove posso iniettare quasi tutti i caratteri in un pezzo di javascript da un parametro.

Ma gli sviluppatori web sembrano fortunati: il codice che posso modificare non viene mai eseguito perché c'è un errore di sintassi JavaScript prima del mio punto di iniezione. Argh!

Quindi ho pensato che avrei potuto terminare il blocco javascript facendo </script> e quindi aggiungendo il mio attacco. Tuttavia, non posso utilizzare il carattere / , solo l'unico carattere che viene filtrato. Ho provato un lungo elenco di varianti, ma nessuna sembra funzionare. Posso gestire <&#47;script> ma il browser non lo preleva come </script> .

Qualche idea? Posso modificare qualcosa in modo tale che il mio script sia comunque eseguito? O c'è un altro modo per terminare un blocco di script, diverso da </script> ? Alcune altre codifiche del carattere / che posso provare? Qualsiasi aiuto molto apprezzato. :)

    
posta Mark Koek 07.07.2016 - 11:52
fonte

2 risposte

3

Non sono a conoscenza di alcun modo per terminare un <script> senza la presenza di </script . (case insensitive, no encoding)

Se c'è un errore di sintassi ovunque in uno script particolare, allora l'intero script non verrà eseguito. (ovviamente sembra che tu lo sappia già, e quindi stai provando a inserire </script> )

Tuttavia, questo è ancora serio perché è probabile che un futuro sviluppatore corregga l'errore di sintassi, inconsapevolmente facendo di una vulnerabilità fuori da questo difetto di iniezione che hai scoperto.

Se tuttavia, hai causato l'errore di sintassi con la tua stessa iniezione (cioè fuori dalla stringa quotata), è possibile che tu possa risolverlo anche prima di aggiungere il tuo exploit.

    
risposta data 07.07.2016 - 19:07
fonte
3

Lato server:

Come procedura di sicurezza hanno codificato il "/" nel "& # 47" al fine di evitare qualsiasi attraversamento del percorso di directory o XSS (senza fortuna compagno). Prova altri metodi per aggirare il "/".

Cheat-sheet: link

Lato client:

Il tuo browser ha una sorta di protezione XSS abilitata. Prova a disabilitare quella protezione.

    
risposta data 07.07.2016 - 12:29
fonte

Leggi altre domande sui tag