[RTO]Bugs de seguridad encontrado en Joomla 1.5.9

Diseño y Posicionamiento Web con Joomla Foros Joomla 1.5 Componentes [RTO]Bugs de seguridad encontrado en Joomla 1.5.9

Mostrando 0 respuestas a los debates
  • Autor
    Entradas
    • #79141
      alakentuAlakentu
      Participante

      Hola a todos

      Gracias al amigo Lorenzo que me ha hecho percatarme de este detalle, he podido leer con asombro la noticia de un bugs dentro de nuestros Joomla 1.5.9. La noticia vienes desde tres puntos diferentes pero hechos por la misma persona. Acá los detalles:

      Escrito por WHK

      Vulnerabilidad de tipo CSRF en Joomla! 1.5.9

      He localizado una falla en Joomde tipo CSRF (Cross Site Rquest Forgery) que permite a un atacante la posibilidad de eliminar el directorio completo de imagenes lo cual sería fatál como para un sitio de noticias donde prescindisa de sus imagenes para poder dar su información. Esta falla no permite al atacante la posibilidad de subir un archivo ni eliminar los que estén fuera del directorio “/images”.

      La falla se localiza en el módulo de Administracion llamado “Media Manager” donde su petición GET para solicitar la eliminación de un directorio o archivo no incluye ningún Token o sistema de seguridad válido para impedir este tipo de ataques.

      Prueba de concepto:
      http://ejemplo.com/administrator/index.php?option=com_media&task=file.delete&tmpl=component&folder=directorio&rm%5B%5D=Imagen.jpg

      El punto es que la falla se localiza en el archivo administrator/com_media/controllers/file.php en la linea 136 donde se omite el token de seguridad:


      Un atacante necesitaría que el un usuario del sistema Joomla tenga derechos de Administración y caiga en algún tipo de engaño como una imagen falsa que redireccione hacia el borradoinicialmente del index.html que impidía ver los archivos, una ves eliminado el mismo script podría tener la capacidad de listar todos los archivos a eliminar con un segundo ataque puesto por ejemplo dos veces en una misma firma dentro de algún foro o publicación parcial del mismo sistema como editor.

      Nota:
      Los archivos que pueden ser eliminados no necesariamente deben ser imagenes ya que el sistema solo permite la subida de imagenes pero la eliminación de cualquier tipo de archivo.
      Para poder repararlo solamente debes agregar el token de seguridad tal como aparece en la función de subida.

      Fuentes:
      El Hacker.com
      JCcharry.com
      Joomla.org

      Esto es inadmisible para lo que usamos Joomla 1.5.9, pero siempre hay soluciones a todos y aquí está la que he encontrado:

      La solución es sencilla, aquí está, buscamos el archivo file.php, que se encuentra en:

      ..administrator/components/com_media/controllers

      * En la línea 36 tenemos el llamado a la función upload:

      function upload()
      {
      global $mainframe;

      // Check for request forgeries
      JRequest::checkToken( 'request' ) or jexit( 'Invalid Token' );

      * Debemos cambiarlo por esto:

      function upload()
      {
      global $mainframe;

      // Check for request forgeries
      JRequest::checkToken( 'request' ) or jexit(JText::_('JINVALID_TOKEN'));

      * Ahora buscamos el archivo folder.php de esa misma carpeta.
      * En la línea 57 tenemos

      if ($path !== JFile::makeSafe($path)) {

      * Cambiarlo a:

      if ($path !== JFilterInput::clean($path, 'path')) {

      Más abajo en la línea 100 tenemos:

      JRequest::checkToken() or jexit( 'Invalid Token' );

      * Cambiarlo a:

      JRequest::checkToken() or jexit(JText::_('JINVALID_TOKEN'));

      * Seguimos más abajo en la línea 120 y tenemos:

      jimport('joomla.filesystem.*');
      JFolder::create($path);
      JFile::write($path.DS."index.html", "nnn");

      * Cambiarlo a:

      jimport('joomla.filesystem.*');
      JFolder::create($path);
      $file = 'nnn';
      JFile::write($path.DS.'index.html', $file);

      Hasta ahora eso es todo lo que pude obtener.

      Saludos

Mostrando 0 respuestas a los debates
  • El foro ‘Componentes’ está cerrado y no se permiten nuevos debates ni respuestas.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver
Privacidad