Foro de elhacker.net

Seguridad Informática => Seguridad => Mensaje iniciado por: 0x5d en 9 Febrero 2013, 00:34 am



Título: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: 0x5d en 9 Febrero 2013, 00:34 am
Hola, buen día.

Esto es como un mini CSRF que afecta varios SMF ...

Luego de leer esto, vayan al index y díganme si algo les cambió ... Si no es así CTRL + F5

Saludos, Javier.


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: #!drvy en 9 Febrero 2013, 00:45 am
Buenas,

Jaja en el avatar! Muy bueno =)

Saludos


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: 0x5d en 9 Febrero 2013, 00:46 am
Buenas,

Jaja en el avatar! Muy bueno =)


Saludos
Puede ser en cualquier parte, la cosa es que haga el GET :P
(http://190.114.252.43/~vodale/capturas/i.php)


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: #!drvy en 9 Febrero 2013, 00:48 am
Cierto, lo acabo de comprobar con una imagen [img][/img]

Y funciona también.

Saludos


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: 0x5d en 9 Febrero 2013, 01:01 am
Incluso se puede obtener varia info del visitante a nuestro post vía GET
Código:
SERVER:Array
(
    [DOCUMENT_ROOT] => /home/xxxx/public_html
    [GATEWAY_INTERFACE] => CGI/1.1
    [HTTP_ACCEPT] => */*
    [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.3
    [HTTP_ACCEPT_ENCODING] => gzip
    [HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.8
    [HTTP_CF_CONNECTING_IP] => 80.58.250.91
    [HTTP_CF_IPCOUNTRY] => ES
    [HTTP_CF_RAY] => 3dcc2639fae00e0
    [HTTP_CF_VISITOR] => {"scheme":"http"}
    [HTTP_CONNECTION] => Keep-Alive
    [HTTP_COOKIE] => __cfduid=d8c4f510859beb80b90b7b3f9b2628b701360367823
    [HTTP_DNT] => 1
    [HTTP_HOST] => xxxxx.com
    [HTTP_REFERER] => http://foro.elhacker.net/seguridad/mini_csrf_smf_jaavier_0x5d-t382746.0.html;msg1826328;topicseen
    [HTTP_USER_AGENT] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17
    [HTTP_VIA] => 1.1 80.58.250.68
    [HTTP_X_FORWARDED_FOR] => 88.1.175.69,80.58.250.91
    [HTTP_X_FORWARDED_PROTO] => http
    [PATH] => /bin:/usr/bin
    [QS_AllConn] => 5
    [QS_ConnectionId] => 13603678946477191478640
    [QS_SrvConn] => 5
    [QUERY_STRING] =>
    [REDIRECT_STATUS] => 200
    [REMOTE_ADDR] => 173.245.53.116
    [REMOTE_PORT] => 42604
    [REQUEST_METHOD] => GET
    [REQUEST_URI] => /xxxxx.php
    [SCRIPT_FILENAME] => /home/xxxx/public_html/xxxxx.php
    [SCRIPT_NAME] => /capturas/i.php
    [SERVER_ADDR] => 190.114.252.43
    [SERVER_ADMIN] => webmaster@xxxx.com
    [SERVER_NAME] => xxxxx.com
    [SERVER_PORT] => 80
    [SERVER_PROTOCOL] => HTTP/1.1
    [SERVER_SIGNATURE] =>
    [SERVER_SOFTWARE] => Apache
    [UNIQUE_ID] => URWRFr5y-CsAATMwcKMAAAAO
    [PHP_SELF] => /
    [REQUEST_TIME] => 1360367894
    [argv] => Array
        (
        )

    [argc] => 0
)


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: #!drvy en 9 Febrero 2013, 01:05 am
Hola, eso es mas normal puesto que puedes crear un php y indicarlo al navegador como imagen.

Los datos que obtendrás pueden ser...IP, navegador.... y otras cosas pero en ningún caso ninguna información vital del tipo cookie o contraseña.

Afecta a todas las paginas que permitan insertar una url de imagen o que permitan hacer el GET de alguna forma.

Saludos


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: 0x5d en 9 Febrero 2013, 01:07 am
Hola, eso es mas normal puesto que puedes crear un php y indicarlo al navegador como imagen.

Los datos que obtendrás pueden ser...IP, navegador.... y otras cosas pero en ningún caso ninguna información vital del tipo cookie o contraseña.

Saludos
Claro, lo que me parece interesante, es que en algunos casos devuelve el país del Visitante , no sabía que el $_SERVER manejaba eso :O


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: #!drvy en 9 Febrero 2013, 01:09 am
No xD

Si te fijas, la variable se llama HTTP_CF_IPCOUNTRY.

Osease, HTTP_CLOUDFLARE_IPCOUNTRY, osease es una variable que crea CloudFlare. Tendras CloundFlare para tu sitio maybe [?]

Saludos


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: 0x5d en 9 Febrero 2013, 01:10 am
No xD

Si te fijas, la variable se llama HTTP_CF_IPCOUNTRY.

Osease, HTTP_CLOUDFLARE_IPCOUNTRY, osease es una variable que crea CloudFlare.

Saludos
En algunos casos me devuelve ES, CL(mi caso), etc...
Hola, eso es mas normal puesto que puedes crear un php y indicarlo al navegador como imagen.

Los datos que obtendrás pueden ser...IP, navegador.... y otras cosas pero en ningún caso ninguna información vital del tipo cookie o contraseña.

Afecta a todas las paginas que permitan insertar una url de imagen o que permitan hacer el GET de alguna forma.

Saludos
De eso hablé el 2010 acá http://www.portalhacker.net/index.php?topic=118854.0

Saludos !


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: #!drvy en 9 Febrero 2013, 01:49 am
Buenas, siento joder pero toda vulnerabilidad debe tener su solución xD

Una solucion simple, seria comprobar en el index.php si esta definida la variable GET['theme'] y comprobar si el usuario tiene sesc (Una forma de SMF de asegurarse contra los CSRF). Si no lo tiene le devolvemos el tipico 'Hacking Attempt".

Código
  1. if(isset($_GET['theme'])){
  2. if(empty($_GET['sesc']) OR $_GET['sesc']!=$context['session_id']){die('Hacking Attempt...');}
  3. }

Puesto que SMF usa otro tipo de cambio de theme no influirá en nada en el sistema de cambio de theme (Themes.php).

Edit:
Poner en el index.php justo después de loadSession(); (linea 136).

Saludos


Título: Re: Mini CSRF SMF - JaAViEr [0x5d]
Publicado por: 0x5d en 9 Febrero 2013, 01:58 am
Buenas, siento joder pero toda vulnerabilidad debe tener su solución xD

Una solucion simple, seria comprobar en el index.php si esta definida la variable GET['theme'] y comprobar si el usuario tiene sesc (Una forma de SMF de asegurarse contra los CSRF). Si no lo tiene le devolvemos el tipico 'Hacking Attempt".

Código
  1. if(isset($_GET['theme'])){
  2. if(empty($_GET['sesc']) OR $_GET['sesc']!=$context['session_id']){echo die('Hacking Attempt...');}
  3. }

Puesto que SMF usa otro tipo de cambio de theme no influirá en nada en el sistema de cambio de theme (Themes.php).

Edit:
Poner en el index.php justo después de loadSession(); (linea 136).

Saludos
Obvio, todo tiene su clara solución ! :D

Lo mismo pensaba, incluso hacer algo tipo:
Código
  1. if($_GET['theme']){
  2.  echo "Hacking Attemp";
  3.  exit;
  4. }
  5.  
Pero lo de comprobar los tokens de seguridad creo que es más viable.

Saludos !