Web Applications Security: www.expoteco.org (1)

Esta semana se realiza en la ciudad de Oruro el Expoteco 2010 y ya que todo mundo esta hablando de este evento, me di a la tarea de dar una revisión a su sitio, el cual es www.expoteco.org.

Al parecer el sitio tiene bastante contenido Ajax (el diseño deja mucho que desear, pero eso lo dejamos para otro post), no parece tener (por el momento) alguna vulnerabilidad que explotar, navegando por el sitio llegamos hasta un directorio donde se encuentra la aplicación dompdf que básicamente sirve para generar archivos PDF a partir de archivos HTML (el desarrollador JarJar Soft se olvido borrar algunos archivos), en la propia aplicación hay una sección de demo online, eureka! un enorme agujero de seguridad.

Dentro del portal existe un archivo llamado DataBase.php, me late que este archivo contiene datos de conexión a la base de datos ^^

En el demo online de dompdf escribo una función php que sirve para ver el contenido de los archivos y siguiendo el modo de uso de dompdf tengo las siguiente ordenes:

<?php
 require_once("../dompdf_config.inc.php");
 show_source("../../DataBase.php");
 $dompdf = new DOMPDF();
 $dompdf->load_html($html);
 $dompdf->render();
 $dompdf->stream("sample.pdf");
?>

Y ya tenemos los datos de acceso a la base de datos.

Ya solo queda imaginar lo que se puede hacer…

Nautilus: mostrar texto debajo de los iconos

Que puedo decir, me gusta tener el texto bajo los iconos en Nautilus (en gedit y básicamente en todos los programas de Gnome), para esto es necesario usar el gconf-editor, entonces manos a la obra.

1. Presionar Alt+F2 y escribir gconf-editor presionar el boton Ejecutar.

2.Dirigirse hasta: /desktop/gnome/interface

3. Cambiar el valor de la entrada toolbar-style a both (hay otras opciones más: both-horiz, icons, text).

Una vez hecho lo anterior se habrá cambiado la vista de la barra de herramientas de esto:

A esto:

Web Applications Security: tip 1, XSS

Unas sugerencias o tip, al momento de realizar el desarrollo de aplicaciones web es importante cuidar de agujeros (bugs) de tipo XSS (Cross-site scripting) ya que son de los más comunes en el desarrollo, básicamente se explota parámetros enviados mediante el método get.

Para ser más claros un ejemplo tenemos la siguiente sección de validación de usuarios (caso real):

Si validamos los datos de entrada:

Tenemos la siguiente dirección generada:

http://www.dominio.com/movil/index.php?msn=Debe%20especificar%20un%20usuario%20y%20password

Que pasa si cambiamos la dirección a esto:

http://www.dominio.com/movil/index.php?msn=%3Ciframe%20src=’https://iloo.wordpress.com’%3E%3C/iframe%3E

Tenemos:

Ahora que pasaría si ponemos:

http://www.dominio.com/movil/index.php?msn=/etc/passwd

Como se puede observar este método es uno de los más sencillos para poder tener acceso a datos del servidor y por tanto es necesario filtrar los datos enviados por el método get.

La eterna pregunta: KDE o GNOME

Después de volver a darle una oportunidad a KDE, regreso a GNOME…

Y porque lo hago:

  • Usando ambos escritorios con los efectos activados o desactivados (en gnome compiz) es obvio que KDE consume muchos más recursos y no es necesario hacer ninguna prueba, se nota en el ruido del ventilador.
  • La personalización en KDE es casi nula (me refiero a la vista que tiene el escritorio, no a los del programa, accesos directos y demás), tal vez muchos dirán que estoy muy equivocado, pero todos los temas se parecen…
  • Los programas en general para KDE consumen más recursos que sus similares a GNOME, pero claro que se puede instalar programas de GNOME en KDE, pero creo que no soy el único que usa programas orientados al escritorio (ahora mismo con GNOME solo uso K3b).
  • El Kmenu (ya se, es solo un detalle) pero creo que el menú de GNOME es mucho mejor, tomando en cuenta la funcionalidad y velocidad de acceso.
  • El explorador Dolphin, ya se que Nautilus esta pasado de moda, pero a mi me encanta, tiene todo lo que se necesita, y con las extensiones (scripts) realmente es un monstruo (en el buen sentido).
  • Los plasmoids, la verdad prefiero los applets, son más fáciles de usar y hay un montón de estos, es decir que para hacer la misma tarea en GNOME encontramos hasta tres applets que hacen lo mismo (con más o menos detalles) en KDE no hay mucho de donde escoger.
  • No hay un Kubuntu Tweak, bueno si hay pero completamente desactualizado.
  • Otro detalle, las notificaciones por defecto KDE tiene unas notificaciones enormes que la verdad es una molestia, claro que se puede instalar Colibri, que es un sistema de notificaciones parecido al que tiene GNOME.
  • El último detalle que me hizo regresar a GNOME… al querer actualizar a la versión 4.5.3 de KDE, y con los repositorios oficiales para Kubuntu, el sistema simplemente ya no arranco más, ni reinstalando la versión anterior ni nada, vaya fue un dolor de cabeza recuperar mi información (bases de datos, contactos, notas, archivos, logs, etc, etc).