Título: Auditoría de seguridad hacia Simple Machines Forum 2.0 Publicado por: WHK en 18 Octubre 2009, 23:13 pm (http://www.webcomparte.com/archivos_publicos/imagenes/externos/header_simpleaudit20.png)
Proyecto SimpleAudit 2.0 Es un proyecto destinado a realizar auditorías de seguridad a nivel WEB hacia el software de SMF 2.0 (Simple Machines Forum) con la finalidad de que sus desarrolladores puedan crear cada dia un software mas robusto y seguro. Integrantes - (participando en el proyecto)
Colaboradores (forman parte del proyecto pero necesitaran encontrar algo antes de tener acceso al resto de los reportes):
Vulnerabilidades encontradas 45 (40 reportadas + 0 notificadas + 5 privadas) Último disclosure: 1 de diciembre Próximo disclosure: 1 de enero Backdoors encontrados 1 (http://twitter.com/sirdarckcat/statuses/5195072337)
Todos los resultados se irán mostrando en este lugar con todos sus detalles. Si tienes algún comentario, pregunta, aporte o lo que necesites compartir puedes hacerlo en este post: http://foro.elhacker.net/nivel_web/proyecto_de_auditoria_a_smf_20_laboratorio_de_bugsnivel_web-t271095.0.html Si hay algúna vulnerabilidad o bug que no aparece en este lugar es porque todavía se mantiene en privado hasta cumplirse el plazo estimado para su posible reparación o publicación futura. Puedes seguir la auditoría en Twitter: http://twitter.com/simpleaudit Además en FeedBurner: Código (http://feeds.feedburner.com/Twitter/Simpleaudit.gif) (http://twitter.com/simpleaudit) Meneame: http://meneame.net/story/localizaron-mas-40-bugs-auditoria-smf-2.0 Título: Re: Auditoría de seguridad hacia Simple Machines Forum 2.0 Publicado por: WHK en 10 Noviembre 2009, 08:15 am En este hilo se irán poniendo las vulnerabilidades hechas públicas.
El recopilatorio quedará en el primer post. (http://i.elhacker.net/i?i=FUoeUxq5-TVANDfmbpvLk2Vo) (http://i.elhacker.net/d?i=FUoeUxq5-TVANDfmbpvLk2Vo) Hasta al momento la auditoría ha sido todo un éxito. Título: Re: Auditoría de seguridad hacia Simple Machines Forum 2.0 Publicado por: WHK en 17 Noviembre 2009, 04:39 am Ya se enviaron todas las vulnerabilidades encontradas. El dia 30 de noviembre serán publicadas acá lo hayan reparado o no.
Título: XSS en el input "Sitio WEB" dentro del perfil de usuario Publicado por: WHK en 30 Noviembre 2009, 09:16 am Detalles
Descripción La vulnerabilidad se localiza en el archivo Sources/Profile-Modify.php Linea 802 http://code.google.com/p/smf2-review/source/browse/trunk/Sources/Profile-Modify.php#802 Código
Ya que permite la inyección de código arbitrario debido a que verifica únicamente que contenga los carácteres "://" pero no indicaron en que posición del string debería estar por lo cual puedes escribir "://" al final del código inyectado encapsulandolo en un comentario tal como el siguiente ejemplo. PoC: En el perfil de tu usuario pon lo siguiente en el input de "Website URL" javascript:alert(document.cookie);//http://xx Solución Código original de SMF 1.1.10 en Sources/Profile.php linea 602 Código
reemplazar por Código
Código original de SMF 2.0 RC2 en Sources/Profile-Modify.php linea 753 Código
Reemplazar por Código
Título: Código de ejecución remota PHP Publicado por: WHK en 30 Noviembre 2009, 09:21 am Detalles
Descripción La vulnerabilidad se localiza en el archivo Sources/ManageServer.php desde la linea 1298 http://code.google.com/p/smf2-review/source/browse/trunk/Sources/ManageServer.php#1298 Código
y el problema esque SMF filtra de mala forma los carácteres especiales que pueden ser incluidos ya que aunque procesan via addslashses el preg_replace los omite como si fueran parte de la misma expresión regular. Si vamos a la sección Configuraciones->Lenguajes->Editar lenguajes Podemos ver el listado de lenguajes, si le haces click sobre cualquier lenguaje irás directamente a su edición y podrás notar dos cosas. 1. Al enviarte a esa sección puedes ver que te adjunta un token a la url para evitar un ataque de tipo CSRF pero si se lo eliminas puedes ver que la sección se visualiza de igual forma, por lo tanto si actualizamos las configuraciones sin enviar el token vemos que se guarda igual. En SMF hay muchas funciones y secciones que aparentemente se ve un token pero no las usa. Este es un CSRF de ejecución de comando arbitrario primeramente ya que un atacante remoto puede engañar al administrador haciendo que visualize una web especialemnte preparada para el ataque y modificar las configuraciones a gusto. 2. Si haces algún cambio en cualquier input y le das en guardar lo que hace SMF no es guardar los valores en la base de datos sino sobreescribir directamente el archivo de elnguajes del theme utilizado por lo tanto lo que escribas de configuración se verá en el archivo principal de lenguaje del theme. 3. El bug consiste principalmente en que SMF no filtra adecuadamente estos inputs. Originalemnte en el archivo Themes/default/languages/index.english.php dice así: Código
Si intentamos escribir una comilla simple SMF le agrega un slash intentando invalidar la inyección de código pero no filtra adecuadamente el carácter "\" por lo tanto cuando insertamos una comilla el código queda así: Código por lo tanto aplicamos bypass y escribimos "\'" para que quede así: Código Por lo tanto el primer slash invalida el segundo transformandolo en un string y validando la comilla simple, luego de eso inyectamos nuestro código arbitrario sin comillas y cerramos con un cmentario para invalidar el resto de la linea y evitar que se produzca un error. Por ejemplo "\';phpinfo();//" quedaría: Código ejecutando el código de forma arbitraria y remota gracias a la falta de token (CSRF). PoC: Código
1. Ingresar como administrador al foro de pruebas 2. Modificar el archivo donde dice $foro_vulnerable=''; escribiendo la dirección del foro sin el index.php. 3. Visualizar el archivo Luego que visualizes el archivo tu foro se habrá infectado y a la vista de todos no se verá absolutamente nada. Para su ejecución debes enviar un header desde tu explorador con la variable "Exec" mas su ejecución, como por ejemplo "Exec: phpinfo();" ya que el payload de la prueba de concepto es la siguiente: Código
Entonces se le agregará el slash a la comilla y el slash puesto con anterioridad no será modificado quedando un \\' invalodando el slash que invalidaba a la comilla. Solución Código original de SMF 2.0 RC2 en Sources/ManageServer.php linea 1298 Código
Debe ser reemplazado por Código
Título: CSRF en el cambio del theme Publicado por: WHK en 30 Noviembre 2009, 18:26 pm Detalles
Descripción Normalmente cuando uno desea cambiar de theme lo hace en las preferencias de diseño del perfil de cada usuario incluyendo un token para evitar CSRF aunque no sirve de mucho ya que puedes ejecutar un cambio de theme de forma forzada gracias a una vulnerabilidad alojada en el archivo Sources/Load.php linea 1245 http://code.google.com/p/smf2-review/source/browse/trunk/Sources/Load.php#1245 Código
haciendo un csrf persistente ya que el id de theme lo almacena directamente en la cookie de sesión del usuario o visitante. Prueba de concepto: http://localhost/smf/index.php?theme=2 Solución Código original de SMF 2.0 RC2 en Sources/Load.php linea 1324 Código
Reemplazar por Código
Hay que recordar que este cambio imposibilita el cambio de theme directamente obligando a utilizar la opción del perfil si alguien lo desea. Esto no es una feature debido a que supuestamente solamente el administrador puede utilizar este tipo de visualizaciones sin tocken pero al fallar las condiciones hace posible que esta acción sea ejecutable a todo usuario y ni aun asi debería crearse al propio administrador. O se elimina o se pone token. Título: CSRF en el colapso de categorias Publicado por: WHK en 30 Noviembre 2009, 18:44 pm Detalles
Descripción La falla se encuentra en el archivo Sources/BoardIndex.php desde la linea 130 hasta la 150 en la función llamada "CollapseCategory" ya que al solicitar una petición de colapso de un foro no nos pide como requsito un token o algo que lo impida, por lo tanto desde un siomple csrf podemos causar el colapso total de foros en la visualización inicial de la portada del foro. Aunque no es una vulnerabilidad que pueda comprometer al foro si es bastante molesta y smf no debería permitir este tipo de acciones de forma arbitraria. Prueba de concepto: http://localhost/smf2.0/index.php?action=collapse;c=1;sa=collapse donde c=1 es la variable con el id de grupos de foros. Solución Modificar la categoría de la sección y darle click donde dice "no colapsable" mientras que simplemachines da una solución oficial ya que hay que agregar el tocken a todos sus themes y al sistema propio. Título: CSRF en el gestor de servidores de paquetes Publicado por: WHK en 30 Noviembre 2009, 18:48 pm Detalles
Descripción La vulnerabilidad consiste en que puedes remover servdiores de actualizaciones y paquetes de forma arbitraria debido a que esta acción no solicita un token o algún tipo de verificación que lo impida: Prueba de concepto: http://127.0.0.1/smf_2/index.php?action=admin;area=packages;get;sa=remove;server=1 Con esto podemos hacer que el administrador elimine de forma arbitraria el primero servidor en la lista de servidores de paquetes. Hay que recordar que esta acción solo la puede ejecutar un administrador por lo tanto es necesario que alguien con este tipo de derechos sobre el foro pueda ejecutar tu csrf desde alguna imagen en tu perfil reireccionada o desde alguna web externa. La falla se localiza en el archivo Sources/PackageGet.php linea 740 http://code.google.com/p/smf2-review/source/browse/trunk/Sources/PackageGet.php#740 No hay token por ningún lado de la función. Título: XSS en la sección de administración de servidores de mods Publicado por: WHK en 30 Noviembre 2009, 18:53 pm Detalles
Descripción La falla está en el archivo Sources/PackageGet.php linea 732 http://code.google.com/p/smf2-review/source/browse/trunk/Sources/PackageGet.php#732 Donde la función "PackageServerAdd" actualiza el string del nombre del servidor en la base de datos sin ser filtrada de ninguna forma. Prueba de concepto: http://127.0.0.1/smf_2/index.php?action=admin;area=packages Donde dice "Add server" en el input del nombre del servidor pongan <h1>XSS</h1> Título: Eliminación arbitraria y Disclosure de paquetes instalados Publicado por: WHK en 30 Noviembre 2009, 18:58 pm Detalles
Descripción El problema está en el archivo Sources/Packages.php Linea 1189 en la función PackageRemove ya que primeramente no solicita ningún token por lo tanto es vulnerable a un ataque de tipo CSRF. El segundo caso es que en esta linea: Código
impiden la eliminación local de archivos pero no incluyeron el ".htaccess" por lo cual puedes eliminarlo de forma arbitraria y observar el listado de paquetes. Pruebas de concepto: http://localhost/smf2.0/index.php?action=admin;area=packages;sa=remove;package=paquete.zip http://localhost/smf2.0/index.php?action=admin;area=packages;sa=remove;package=.htaccess Nota de sirdarckcat Citar http://code.google.com/p/smf2-review/source/browse/trunk/Sources/Packages.php#1196 Al parecer.. Código no podemos poner "..", lo del disclosure que dice whk es que sin el htaccess ahora podemos leer installed.list y bajar los paquetes y demas Título: CSRF en la configuración de archivos adjuntos Publicado por: WHK en 30 Noviembre 2009, 19:04 pm Detalles
Descripción La vulnerabilidad se trata de que puedes ejecutar modificaciones en el panel de administración de forma arbitraria en la sección de configuración de archivos adjuntos: http://localhost/smf2.0/index.php?action=admin;area=manageattachments;sa=attachments aunque lo extraño es que SMF si integra el token pero al enviar la petición sin el nos encontramos que se ejecuta de igual forma. La falla está en el archivo Sources/ManageAttachments.php linea 117 desde donde se llaman a las funciones desde Código
y la linea 162 a la209 que es la función llamada y desde que inicia el proceso hasta que fiinaliza no se solicita ningún tipo de token. http://code.google.com/p/smf2-review/source/browse/trunk/Sources/ManageAttachments.php#117 http://code.google.com/p/smf2-review/source/browse/trunk/Sources/ManageAttachments.php#162 Prueba de concepto Código
Título: XSS en "Enable basic HTML in posts" Publicado por: WHK en 30 Noviembre 2009, 19:35 pm Detalles
Descripción De acuerdo con SMF, Citar This will allow the posting of some basic HTML tags: * <b>, <u>, <i>, <s>, <em>, <ins>, <del> * <a href=""> * <img src="" alt="" /> * <br />, <hr /> * <pre>, <blockquote> Pero se puede hacer XSS con: Código
Saludos!! Título: Remote File Disclosure (solo en logs, y similares) Publicado por: WHK en 30 Noviembre 2009, 19:46 pm Detalles
Descripción Hay una vulnerabilidad en la manera en la que el lector de logs funciona: index.php?action=admin;area=logs;sa=errorlog;file=L2V0Yy9wYXNzd2Q== Un atacante podria crear una serie de peticiones para crear una aparente hoja de estilo valida, y asi capturar en IE toda la informacion que sigue despues de cierta linea. Título: CSRF en las preferencias de moderación Publicado por: WHK en 30 Noviembre 2009, 19:53 pm Detalles
Descripción Las configuraciones en: index.php?action=moderate;area=settings Tienen token pero no lo validan. Título: XSS en el censurador de palabras Publicado por: WHK en 30 Noviembre 2009, 19:58 pm Detalles
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) ] Título: CSRF en las encuestas Publicado por: WHK en 30 Noviembre 2009, 20:01 pm Detalles
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. Título: XSS en el instalador Publicado por: WHK en 30 Noviembre 2009, 20:05 pm Detalles
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> Título: XSS en el instalador Publicado por: WHK en 30 Noviembre 2009, 20:26 pm Detalles
Descripción El archivos install.php sufre una vulnerabilidad de Cross-Site Scripting al no validar las variables POST. Ejemplos: Linea 1317: Código
Linea 1325: Código
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. Título: XSS en el administrador de reglas Publicado por: WHK en 30 Noviembre 2009, 20:33 pm Detalles
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
Este ataque crearía una regla que borre todos los mensajes provenientes del user admin. Segundo: Código Este ataque borraría la regla 4. Tercero: Código
Aplicaría las reglas en el momento. Título: XSS en el administrador de smileys Publicado por: WHK en 30 Noviembre 2009, 20:39 pm Detalles
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 Título: Desinstalación arbitraria de mods Publicado por: WHK en 30 Noviembre 2009, 20:42 pm Detalles
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 Título: XSS en el buscador de usuarios Publicado por: WHK en 30 Noviembre 2009, 20:49 pm Detalles
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
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
Retornará un código inyectado dentro del tag "<script />" Título: CSRF+XSS en el administrador de lenguajes Publicado por: WHK en 30 Noviembre 2009, 20:55 pm Detalles
Descripción En este ataque se utiliza Cross-Site Request Forgery para realizar un ataque Cross-Site Scripting. Proof-of-Concept: Código
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
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. Título: XSS en el nombre del foro Publicado por: WHK en 30 Noviembre 2009, 20:58 pm Detalles
Descripción El sistema para agregar subforos no filtra caracteres al agregar subforos, haciendo que se pueda agregar codigo javascript entre otros no solo en el index si no que tambien en diversos lugares del panel de administración entre ellos el mismo panel de administración de subforos , haciendo que mediante codigo javascript se podria hacer que en el navegador no se pudiera ver el panel de administración de subforos haciendo casi imposible para una persona de conocimientos basicos modificar el subforo para eliminar el deface que se podria hacer con el XSS . Saludos ;) Título: XSS en la URL del logo Publicado por: WHK en 30 Noviembre 2009, 21:00 pm Detalles
Descripción Bueno, esto en realidad no me pareció muy relevante pero quizás sirva de todos modos. Si vamos a la pagina de administracion donde se cambia la configuracion del theme que se esta usando (/index.php?action=admin;area=theme;sa=settings;th=1;) y al modificar el input "options[header_logo_url]", si ponemos algo como esto: Código
El código JS se ejecutaría en cualquier parte del foro. Título: CSRF en la configuración de post Publicado por: WHK en 30 Noviembre 2009, 21:05 pm Detalles
Descripción The vulnerabilitie is found in the function ModifyPostSettings in the file ManagePosts.php , this function allows to you to change the post settings and it does not verify the token of the session so ... It is CSRF. The POC: Código Título: XSS en el buscador de lenguajes Publicado por: WHK en 30 Noviembre 2009, 21:16 pm Detalles
Descripción La vulnerabilidad está en el buscador de lenguajes en la variable smf_add que va dentro de un textbox. Hay que escribir ">(codigo) http://localhost/SMF/index.php?action=admin;area=languages;sa=add;[token] Título: XSS en "theme name" de "themes and layout settings" Publicado por: WHK en 30 Noviembre 2009, 21:20 pm Detalles
Descripción Si en los theme settings cambias el nombre del tema por uno que contenga html y te vas a los themes and layout settings, verás tu código. El error está en el archivo Themes.php en la línea 346 en la que hay que poner : Código Adjunto archivo supuestamente seguro. http://localhost/SMF/index.php?action=admin;area=theme;sa=list;token Solución http://smf2-review.googlecode.com/issues/attachment?aid=5572441877403199176&name=Themes.php Título: XSS en "theme url and settings" Publicado por: WHK en 30 Noviembre 2009, 21:25 pm Detalles
Descripción La vulnerabilidad se explota desde donde se configura el tema actual y es vulnerable además del logo (que ya pusieron antes) en la url del tema y de las imágenes. Poniendo en las urls: http://urlreal"><script>alert("Robamos tus cookies gracias...");</script> se consigue ejecutar ese código javascript cada vez que se muestre una imagen o se llame a una hoja de estilo. Solución Esto se arregla en las líneas 819,820,821 poniendo esto : Código
En el archivo themes.php en la url : http://localhost/SMF/index.php?action=admin;area=theme;sa=settings;th=2;[token] Título: XSS en la modificación de themes con nombres de theme Publicado por: WHK en 30 Noviembre 2009, 21:28 pm Detalles
Descripción http://localhost/SMF/index.php?action=admin;area=theme;sa=edit;toke Para arreglarlo hay que cambiar la línea 1711 del archivo themes.php por esta : Código
Título: XSS en el administrador de paquetes Publicado por: WHK en 30 Noviembre 2009, 21:32 pm Detalles
Descripción Este ataque de Cross-Site Scripting sucede cuando especificamos como FTP Server ("pack_server" input) algo como: Código
Este problema reside en la linea 1384 del archivo Sources/Packages.php http://code.google.com/p/smf2-review/source/browse/trunk/Sources/Packages.php#1384 Aunque tambien se puede ver en otras variables: Código
Esto se puede hacer automáticamente mediante CSRF, que aunque tiene un token el formulario original no es checkeado. Entonces el código seria simple: Código
Solo con que se cumpla el if() se alojan las variables: Citar 1381 if (isset($_POST['submit'])) El ataque XSS también se ejecuta en la sección de "File Permissions". Título: CSRF en la union de temas Publicado por: WHK en 30 Noviembre 2009, 21:51 pm Detalles
Descripción Este CSRF permite obligar a algún moderador o cualquiera con el poder de unir 2 topics a unirlos. Dejo un ejemplo de un html que obliga a unir el topic 1 con el topic 4 . Código
Título: CSRF dar permisos a los usuarios normales para modificar permisos del foro Publicado por: WHK en 30 Noviembre 2009, 21:55 pm Detalles
Descripción Este CSRF permitiria solo haciendo que el administrador visite una web de nosotros con su sesion de su foro abierta hacer que le de permisos a los usuarios normales para cambiar los permisos de los grupos como por ejemplo los moderadores globales . El error fue probado en SMF 2.0 RC2 ;) Ejemplo de un HTML que cambiaria los permisos: Código
Título: CSRF permite borrar una encuesta Publicado por: WHK en 30 Noviembre 2009, 21:56 pm Detalles
Descripción Consigue borrar cualquier encuesta . Código
Título: CSRF permite elevar privilegios de usuarios normales para modificar los smileys Publicado por: WHK en 30 Noviembre 2009, 21:58 pm Detalles
Descripción El CSRF se encuentra en /index.php?action=admin;area=smileys;save;sa=settings y permite hacer que los usuarios normales tengan poderes para modificar los smileys. Aparte de modificar los smileys tambien se puede aprovechar para ver la ruta de los archivos algo como un path discloure en /index.php?action=admin;area=smileys;sa=settings. Código Título: RSS DoS Publicado por: WHK en 30 Noviembre 2009, 22:02 pm Detalles
Descripción El bug consiste en que SMF pone como límite 256 items al momento de visualizar el rss del foro. Si intentas visualizar las 256 entradas unas 5 veces de forma simultanea puedes hacer colapsar la base de datos y elevar el pid a las nuves. De todas formas este valor máximo es configurable pero por defecto viene un valor demasiado elevado para un servidor standard compartido. el problema se centra en el archivo Sources/News.php linea 83 Código Aunque mas abajo si impone un límite que puedes manupular desde el panel de administración pero estos 255 que al final se transforman en 256 van por defecto. Nota: si haces un fork cada 10 conexiones simultaneas terminas cosinando huevos fritos sobre el procesador del servidor. Prueba de concepto: Código
Título: Robo del token de sesión Publicado por: WHK en 30 Noviembre 2009, 22:09 pm Detalles
Descripción Esta vulnerabilidad permite el robo de tu hash que evita cualquier tipo de ataque CSRF, esto significa que si logras obtener dicho hash podrás realizar cualquier tipo de acción arbitraria. Para demostrar este bug hacemos un post cualquiera en nuestro foro de pruebas, luego vamos a ese post y le hacemos click en el botón "quote" o "citar", en ese momento comenzarás a crear una respuesta al post con una citación y si te das cuenta has incluido en la url tu token de seguridad y mas abajo se incluyen los post anteriores INCLUYENDO código bbc interpretado. Esto quiere decir que puedes realizar un post con una imagen enlazada a tu servidor web, entonces cuando alguien haga una cita de un post que se encuentre en la misma página de post tuyo se incluirá la visualización de dicha imagen y quedará grabado tu token en mis logs de acceso. Puedes crear un script automatizado que actue de imagen y si captura de referencia algún token entonces será capturado y enviará una redireción hacia un ataque de tipo CSRF incluyendo tu token bypaseando el sistema de seguridad de smf. El problema está en todos los themes de smf xD incluyendo el theme clásico ya que lleva el token de forma nativa en el enlace l igual que todos los themes. Themes/classic/Display.template.php linea 407 También es en parte problema de la función que procesa el citado de post ya que te exige por obligación dicho token y no debería pedirse Sources/Post.php linea 815 http://code.google.com/p/smf2-review/source/browse/trunk/Sources/Post.php#815 También hay que recordar las vulnerabilidades encontradas en el cual necesitas el token del usuario. PoC: Código
Nota de YST: Citar Este bug tambien permite que se pueda olbigar a que no puedan editar un post al postear la imagen en el mismo topic , ya que si se usa para cerrar sesion no permite guardar el post editado . Título: ReDoS en htmltrim Publicado por: WHK en 30 Noviembre 2009, 22:15 pm Detalles
Descripción http://code.google.com/p/smf2-review/source/browse/trunk/Sources/Load.php#198 smfFunc['htmltrim']('x y'); deberia causar un DoS en PREG.. este puede causar problemas a futuro (como con http://www.google.com/::((((((((((((((((((((((( ) prueben con: Código deberia regresarles un string vacio.. hay que checar donde se usa esta funcion para ver si podemos abusar del hecho que regrese un string vacio. Saludos!! Título: DoS en el acceso al foro Publicado por: WHK en 30 Noviembre 2009, 22:23 pm Detalles
Descripción Por la siguiente linea: Código http://code.google.com/p/smf2-review/source/browse/trunk/Sources/QueryString.php#108 Si podemos poner una cookie llamada GLOBALS el usuario no podra entrar al foro.. no es explotable per-se porque necesitamos una manera de poner dicha cookie.. y si podemos poner cookies es mas facil denegar el acceso con cookies largas, pero bueno.. Lo mismo va para parametros con numeros: http://code.google.com/p/smf2-review/source/browse/trunk/Sources/QueryString.php#112 Código Eso es para evitar problemas de un bug que habia en unset().. no es tan peligroso ya pero pues.. http://tu-foro-smf/index.php?http:// wtf? http://code.google.com/p/smf2-review/source/browse/trunk/Sources/QueryString.php#126 si necesitan una Url que diga: Citar header('HTTP/1.1 400 Bad Request'); ahi la tienen, puede servir para forzar un error aveces.. Título: XSS en la subida de archivos Publicado por: WHK en 30 Noviembre 2009, 22:32 pm Detalles
Descripción Al subir archivos mediante el upload de los post si uno modifica las cabezeras para modificar el nombre del archivo y metes codigo(como <a href='javascript:alert(0);' >test.php) , este se ejecutara cuando modificas el post y cuando se ve por index.php?action=profile;area=showposts;sa=attach;u=IDUSER los archivos subidos. Saludos. Título: CSRF en las reglas de mensajes Publicado por: WHK en 30 Noviembre 2009, 22:37 pm Detalles
Descripción Este CSRF permitiría hacer cosas como que el usuario afectado borrara automáticamente los MPs de otro usuario determinado. La vulnerabilidad está en la url : http://localhost/SMF/index.php?action=pm;sa=manrules este POC que crea una regla que borra todos los mensajes que provengan del user admin: Código
Título: Robo del tocken de sesión (II) Publicado por: WHK en 30 Noviembre 2009, 22:40 pm Detalles
Descripción El problema está en que cada ves que haces una petición GET con tu token en la url estás enviando tu hash que te protege ante ataques de tipo CSRF a todas las direcciones de cada imagen mostrada. Cuando las imagenes de un theme son locales no hay problema porque el token queda guardado en los logs de acceso de tu servidor pero cuando smf muestra alguna imagen externa estarás enviando directamente tu token a ese servidor. ¿Un ejemplo? Hay themes que ponen tu avatar en la parte superior del foro en el encabezado. Bastaría con que alguien utilize una imagen que esté alojada en tu servidor para lanzarle un ataque de tipo CSRF de cualquier tipo ejecutando acciones de forma arbitraria vulnerando cualquier tipo de cuenta inclusive la de administración. Nota de sirdarckcat Citar es un bug en algunos themes (el default no es vulnerable) y solo explotable si el usuario pone su avatar en un servicio de hosting de imagenes que controla un atacante.. la peligrosidad es baja creo yo.. Título: Re: XSS en el input "Sitio WEB" dentro del perfil de usuario Publicado por: WHK en 30 Noviembre 2009, 22:45 pm También se adjuntan los siguientes post con vulnerabilidades de SimpleMachines Forum con su descripción completa:
http://foro.elhacker.net/nivel_web/hackea_a_elhackernet_finalizado_ganador_yasion-t275475.0.html http://foro.elhacker.net/nivel_web/backdoor_nativo_en_smf_20-t272107.0.html http://foro.elhacker.net/nivel_web/multiples_inyecciones_sql_en_smf_1110_y_20_rc12-t270049.0.html Notas: El backdoor nativo fue removido del sistema a partir de la versión 2.0 rc2. Algunos bugs fueron parchados en smf 1.1.11. Título: Re: Auditoría de seguridad hacia Simple Machines Forum 2.0 Publicado por: WHK en 9 Marzo 2010, 16:24 pm Simplemachines ya actualizó la versión RC2 de SMF 2.0 a la RC3 y algunos que estubimos en la auditoría aparecemos en el changelog :D
http://download.simplemachines.org/index.php?thanks;filename=smf_2-0-rc3_changelog.txt |