Iniettare scriptalert ("1") / script in OWASP Il negozio di succo non funziona

0

Ho appena appreso la teoria degli attacchi XSS e ora vorrei testare le mie conoscenze in modo legale.

Volevo "hackerare" negozio di succo OWASP seguendo i passaggi di questo book sezione "Eseguire un attacco XSS riflesso". Quando uso iframe src="javascript:alert(1)"> come payload XSS funziona come previsto (ricevo l'avviso 1 ). Ma quando lo cambio in <script>alert(1)</script> non succede nulla, non viene visualizzato alcun avviso.

Ho controllato utilizzando gli strumenti per sviluppatori di Chrome che il carico utile è stato iniettato nel DOM, ma per qualche motivo lo script non è stato eseguito. Hai qualche idea del perché? Qualche idea su come posso iniettare un carico utile più sofisticato nel negozio di succo OWASP?

    
posta Paweł Adamski 15.12.2018 - 22:07
fonte

3 risposte

5

Sono andato avanti e ho cercato di determinare quale endpoint nell'applicazione OWASP Juice Shop si sta iniettando il tuo carico utile in. Per favore correggimi se ho torto, ma sembra che il carico utile sia stato iniettato tramite il campo di ricerca.

Questo sembra essere basato su DOM e non su XSS riflesso. Questo è importante da notare poiché il payload viene passato al metodo innerHTML :

<div *ngIf="searchValue"><span>{{"TITLE_SEARCH_RESULTS" | translate}} - 
</span> <span [innerHTML]="searchValue"></span></div>

<script>alert(1)</script> non viene eseguito se iniettato tramite innerHTML come indicato qui :

script elements inserted using innerHTML do not execute when they are inserted.

Invece, consiglierei di utilizzare i payload come <iframe src=javascript:alert(1)> e <img src=x onerror=alert(1)> .

    
risposta data 16.12.2018 - 13:14
fonte
0

Sembra che il filtro XSS del browser stia catturando lo script. Questo è un meccanismo di difesa comune, ma ci sono ancora dei modi per aggirarlo (come caricare uno script da un iframe!).

Ti consiglierei di fare qualche ricerca sui filtri XSS e di eluderli per capire cosa sta succedendo qui un po 'meglio. Il foglio di evasione del filtro XSS di OWASP è davvero un buon punto di partenza.

    
risposta data 16.12.2018 - 05:42
fonte
0

Hymmm, non so come vuoi esattamente eseguire questo attacco ma penso che puoi provare a iniettare questo script in modo diverso. Invece di inserire script js raw puoi usare jsfuck.com che tradurrà il tuo java script nello stesso codice ma usando solo alcuni noleggiatori come [ ecc ... Potrebbe essere d'aiuto perché non sarebbe trattato dal browser come codice js perché sembrerà spazzatura in input ma in realtà verrà eseguita. Spero ti possa aiutare.

    
risposta data 16.12.2018 - 13:35
fonte

Leggi altre domande sui tag