Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Agente Naranja en 30 Julio 2007, 13:36 pm



Título: Ayuda con hacking XSS: Usando CURL y sesiones autenticadas.
Publicado por: Agente Naranja en 30 Julio 2007, 13:36 pm
Hola, tengo una dudilla, es la siguiente:
Estoy en una página que requiere autentificación, por medio de sesiones, llamemosla www.victima.com. Entonces, la idea que quiero es que dentro de mi perfil se realize una llamada a la pagina atacante.com/borrar.php. La página borrar.php se conecta mediante CURL a la página que edita el perfil del usuario enviandole una serie de datos POST, así:

Código
  1. $postdata = array(
  2. 'nombre' => 'Cambiado'
  3. );
  4. $ch = curl_init();
  5.  
  6. curl_setopt($ch, CURLOPT_URL, "http://www.victima.com/gestionar-perfil.php");
  7. curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
  8. $document = curl_exec($ch);
  9.  

He hecho un "escaneo" con la extensión Tamper Data y he visto que la variable POST nombre envia el contenido de el nombre que aparece en el perfil. Entonces, la idea es que normalmente, al llamar al anterior script, debería modificarse el nombre a "cambiado". El proceso según lo entiendo, es como sale en la imagen:

(http://img523.imageshack.us/img523/6244/ataqueur3.png)

Ahora bien, si tecleo en mi explorador atacante.com/borrar.php, en lugar de la página normal, sale la página de autentificación del website.

(http://img511.imageshack.us/img511/5904/ingresarze7.png)

Supongo que al estar por fuera de victima.com entonces no estoy autenticado. La cosa es, dentro del perfil de victima.com, ¿como puedo incluir atacante.com/borrar.php y mantener la autentificacion que ya tengo en victima.com?

He tratado cosas como (dentro de victima.com/perfil.php):

Código
  1. <img src="atacante.com/borrar.php" />
  2. <iframe src="atacante.com/borrar.php">

Pero ninguna de las dos me ha servido, incluso dentro del IFRAME sale de nuevo la pantalla de autentificación como si no estuviera logeado.

Quizás con algo de javascript podría hacerlo, pero no se demasiado de JS y manejo de archivos. O tal vez usando alguna petición Ajax para atacante.com/robar.php

¿Teneis alguna idea? Muchas gracias de antemano!!



Título: Re: Ayuda con hacking XSS: Usando CURL y sesiones autenticadas.
Publicado por: alone-in-the-chat en 1 Agosto 2007, 06:58 am
Al ejecutar el Curl inicias una nueva sesion ,
como estan requiriendo autentificacion y esa nueva sesion no esta autentificada siempre te va a enviar al login , pero si tienes el user y el pass puedes autentificarte a la pagina y esa cookie que te dan guardarla en algun lugar , el curl te da la opcion e especificar la ruta donde se guardaran las cookies

http://www.php.net/manual/es/function.curl-setopt.php (http://www.php.net/manual/es/function.curl-setopt.php)

Creo que estos parametros CURLOPT_COOKIEJAR , CURLOPT_COOKIEFILE , CURLOPT_COOKIE 
te serviran de algo .


El proceso que harias con Curl seria loguearte, guardar la cookie que te dan , y luego recien podras realizar ese tipo de operaciones , que lo mas probable es que esten validando la sesion.

Te pondria un ejemplo que use para hacer tipo de operaciones asi en Cpanel y Whm pero no lo tengo a mano ahora n_n
Mañana lo busco en mi trabajo y lo posteo.

Saludos




Título: Re: Ayuda con hacking XSS: Usando CURL y sesiones autenticadas.
Publicado por: Agente Naranja en 1 Agosto 2007, 16:51 pm
El problema sería entonces que para loguearme debo usar mis credenciales, y luego si cambio algo de la página quedaría como si hiciese los cambios en mi cuenta, y la idea sería hacer cambios en las cuentas de las demás personas. Ejemplo, cambiar el perfil.
Quizás haciendo una pasada por un código javascript y una petición asíncrona enviando datos POST, ¿crees que funcionaría? Intentaré ensayarlo cuando tenga algo de tiempo.
Un saludo.


Título: Re: Ayuda con hacking XSS: Usando CURL y sesiones autenticadas.
Publicado por: alone-in-the-chat en 2 Agosto 2007, 00:06 am
Si te refieres a usar ajax , no podras puesto que ajax permite llamadas a scripts que esten entro del dominio , ponte si estas en

 www.ejemplo.com
 no puedes hacer un request ajax a
  www.ejemplo2.com/scriptajax.php
pero si a
  www.ejemplo.com/scriptajax.php

Ahora si te refieres a que la pagina cambiar-perfil.php recibe parametros por el metodo POST y deseas enviarselos con javascript desde tu sesion ,  podrias probar a incluir una imagen que cargue codigo javascript en ella defines un form con un input nombre y despues en ese mismo script lo submites , como tu mismo dices seria cosa de probarlo  ,  ;D tratare de hacerme tiempo para ver si funka  ;D  aunque la autoridad para estos temas es Sirdackcat

Saludos


Título: Re: Ayuda con hacking XSS: Usando CURL y sesiones autenticadas.
Publicado por: Agente Naranja en 2 Agosto 2007, 00:20 am
Gracias por las respuestas a ambos, en este momento estaba tratando de meter en el perfil.php de la página victima el código javascript de una llamada a una página tipo cambiar-perfil.php, del mismo dominio, y mientras escribía por fuera el código, se me ocurrió escribir en una URL ?id=493%20OR%201=1, seguro que no fue por eso pero la página se quedo cargandose un buen rato, y después quedo offline. Ya han pasado cuatro o cinco horas y sigue caida, espero que no haya sido mi culpa ¬¬
Saludos ;)