Perché la codifica sensibile al contesto impedisce XSS?

4

OWASP raccomanda che la codifica sensibile al contesto debba essere eseguita. Ti prego, aiutami a ottenere un paio di "esempi di codice" sul perché la codifica basata sul contesto deve essere eseguita e perché la codifica HTML da sola non sarà di aiuto in questi casi?

So che può essere d'aiuto per gli attributi non quotati (è anche spiegato in 2 ) ma per ora supponiamo che tutto il mondo stia usando gli attributi quotati [so che è impossibile ma supponiamo che: /], puoi aiutarmi a fornire altri due esempi in cui la codifica HTML non aiuterà e portare agli attacchi XSS che sarebbero protetti se avessimo usato le funzioni di codifica sensibili al contesto fornite da 3 (questo è l'unica libreria di codifica sensibile al contesto presente sul mercato che io conosca)?

    
posta Anders 06.03.2018 - 03:41
fonte

1 risposta

1

Ho intenzione di usare alcuni esempi in cui varie forme di codifica HTML non saranno d'aiuto. Tutti questi sono casi che ho visto in pratica. Userò {{foo}} per la variabile da sostituire. Presumo che la codifica HTML comporti la sostituzione di < con &lt; e > con &gt; . Se esci anche dalle virgolette singole e doppie, alcune di esse non saranno più sfruttabili, ma alcune lo saranno.

<script>var x = '{{foo}}';</script>
<a href="{{foo}}">Clicky</a>
<script>/** Comment {{foo}} */</script>
<html ng-app='myapp'>{{foo}}</html>

Potresti voler controllare questo post del blog per maggiori dettagli .

    
risposta data 06.03.2018 - 07:34
fonte

Leggi altre domande sui tag