Ho letto in più punti viste contraddittorie su ciò che potrebbe essere considerato un XSS basato su DOM. Sembra che la definizione originale indichi che si tratta di una forma di XSS in cui il carico utile proviene esclusivamente dall'interno del browser, ma alcune persone lo vedono anche come una forma di XSS in cui il carico utile non può necessariamente provenire dall'interno del browser, ma viene utilizzato modificare il DOM.
La seconda visione è ciò che mi confonde. Cosa significa esattamente che il carico utile viene utilizzato per modificare il DOM? La pagina OWASP che descrive DOM XSS , fornisce un esempio che, a mio parere, sembra essere lo stesso dell'XSS riflesso.
Dice:
A DOM Based XSS attack against this page can be accomplished by sending the following URL to a victim:
http://www.some.site/page.html?default=<script>alert(document.cookie)</script>
. When the victim clicks on this link, the browser sends a request for:/page.html?default=<script>alert(document.cookie)</script>
. The server responds with the page containing the above Javascript code.The original Javascript code simply echoes it into the page (DOM) at runtime. The browser then renders the resulting page and executes the attacker’s script:
alert(document.cookie)
Poiché il carico utile sta passando dal browser della vittima al server e sta tornando al browser, come invece non si riflette l'XSS?
Devo interpretare questo come XSS riflessa significa essere in grado di iniettare tag <script>
in un contesto HTML e XSS basato su DOM significa essere in grado di iniettare payload all'interno di un <script>
già esistente?