AutorZerial

Cómo validar correctamente la descarga de un archivo en php

Este post es debido a un correo que recibí preguntando como evitar el full path disclosure y el directory transversal desde un fichero php que realiza descargas. El error que plantearé a continuación es muy común en muchos sistemas web y ya he publicado varias webs vulnerables con este mismo problema. Corresponde a la forma de descarga tipo download.php?dir=ficheros/&file=test.pdf.

secure

Con una URL de este tipo, es posible forzar un FPD modificando las variables “dir” y “test”, cambiadolas por cualquier cosa que sepamos que no existe y de esta forma obtendremos un fichero php con un error, el cual nos revelará el path de la aplicación. Si cambiamos el valor de la variable “dir” a “../../../../../../etc/” y “file” a “passwd”, es muy probable que nos deje descargar el fichero /etc/passwd, lo mismo con cualquier otro fichero. De esta misma forma, podemos ir descargando uno a uno los códigos fuentes del sistema php y poder acceder a los usuarios y claves de conexion a la base de datos y otro tipo de información confidencial.

Seguir leyendo

Material del Hackmeeting: Fotos, charlas, etc

La planificacion de las actividades a realizar en el hackmeeting sufrio varias modificaciones, ya que faltaron charlistas o falto tiempo debido a la desorganizacion, sin embargo, todo salio muy bien.

IMG_7178

El cronograma final del hackmeeting lo pueden encontrar en el siguiente enlace: https://hackmeeting.kernelhouse.org/wiki/doku.php?id=programacion

Las presentaciones de algunas charlas que se efectuaron:

Las fotos de la actividad las pueden encontrar en este link: https://fotos.kernelhouse.org

Ya finalizó el Hackmeeting 2009!

SDC12196

Durante el fin de semana pasado se realizó el Hackmeeting versión 2009, aunque un poco desordenado, fue todo un éxito. 3 días duró este encuentro que reunió a gente de Chile, Argentina y Bolivia, participando de charlas, debates y lo más importante, compartiendo sin una pantalla entre medio. Casualmente, coincidio con la fecha de termino de las Jornadas Regionales del Software Libre y tambien con la realización de Hackmeetings en otras partes del mundo como México y España.

Pronto publicaré las charlas, fotos y videos de este encuentro.

Migración de datos en Drupal

drupal_migra Drupal 6 nos provee de una API que nos permitirá trabajar directamente con el core, usando las funciones, módulos y configuraciones ya existentes. De esta forma, y gracias a los hooks, podemos realizar distintas funciones tales como agregar, eliminar y modificar usuarios y contenidos, manejar los comentarios, configuraciones, etc.
La idea de este artículo es ayudar a las personas que necesiten realizar una migración (importación/exportación) desde un sistema distinto hacia Drupal.

Seguir leyendo

Vulnerabilidad en la mayoría de los plugins para WordPress

pwnpressHace un par de días, mientras hacia unas pruebas y revisaba unos sistemas descubrí una vulnerabilidad que afectaba a unos cuantos plugins de WordPress instalados.
Continuando mi investigación llegúe a la conclusión de que se trata de una vulnerabilidad Full Path Disclosure (FPD) que afecta a la mayoría de los plugins de WordPress, incluyendo al “Hello Dolly” y Akismet (plugins por defecto). Para explotar esta vulnerabilidad, no es necesario que el plugin esté activo, simplemente que esté instalado. Esta vulnerabilidad es debido a un problema o error a la hora de programar los plugins, al no validar la existencia de funciones antes de ejecutarlas el sistema devuelve un error fatal, mostrandonos la ruta completa de la instalación del CMS. Por ejemplo, en Akismet:

Fatal error: Call to undefined function add_action() in /home/XXYYZZ/public_html/wp-content/plugins/akismet/akismet.php on line 26

Hablando un poco sobre la vulnerabildiad FPD y recordando lo que dije en el post pasado, explotar esta vulnerabilidad no significa que podamos hacer grandes cosas, simplemente nos entregará información que podría ser utilizada para lo que uno estime conveniente.

Seguir leyendo

Jugando con Festival TTS

Festival es un software text-to-speech (TTS) o sintetizador de vóz que nos permite lograr que nuestra máquina nos hable o, más bien, nos lea algún texto. Con un poco de imaginación se pueden lograr cosas bastante simpáticas como hacer que nuestro computador nos diga la hora, nos lea los sitios web o el texto seleccionado o simplemente para ocio.
Existen paquetes para distintas distribuciones, como Archlinux o Debian, entre otras, para instalarlo directamente desde el gestor de paquetesa como pacman o apt-get, respectivamente. Podemos buscarlo como festvox o como festival y para ejecutarlo es súper simple:

comando | festival --tts

Y automaticamente leerá el texto pasado mediante pipe.
Por ejemplo, un sencillo script para que nos diga la hora en español:

  1. #!/bin/bash
  2.  
  3. hora=`date`
  4. hora=`echo $hora |cut -f4 -d " "`
  5. h=`echo $hora |cut -f1 -d ":"`
  6. m=`echo $hora |cut -f2 -d ":"`
  7. s=`echo $hora |cut -f3 -d ":"`
  8.  
  9. echo "Son las $h horas, $m minutos con $s segundos." |festival –tts –language spanish

Seguir leyendo