EtiquetaSeguridad

Voto electrónico: Los riesgos de una ilusión

Hace un par de semanas viajé a Mendoza (.ar), a la expo2009 organizada por LUGMen. Entre todas las cosas que vi, me llamó la atención un libro cuyo titulo es “Voto electrónico: Los riesgos de una ilusión“.
evote

Hasta antes que empezara a leer ese libro y comenzara a informarme al respecto, mi postura sobre el voto electrónico era a favor, yo no estoy inscrito en el registro electoral y pensaba “No me registraré hasta que la inscripción sea automatica y el voto sea por internet“, pero mi pensamiento cambió radicalmente. Nunca me había detenido a pensar ni 5 minutos que es lo que significaba la implementación de este tipo de votación, los riesgos e inseguridades (a nivel técnico).
Como dice en el sitio dedicado a informar sobre los riesgos del voto electrónico en Argentina,

Es un sistema más rápido, más barato, más transparente, elimina el clientelismo político y aumenta la participación ciudadana. Éstas son, según sus defensores, algunas de las ventajas del voto electrónico. El libro “Voto Electrónico. Los riesgos de una ilusión” presentado en Buenos Aires a fines de marzo por la Fundación Vía Libre, con el apoyo de la Fundación Heinrich Böll, procura abrir un debate, informando a la ciudadanía sobre cómo funcionan estos sistemas de votación y cuáles son sus riesgos.

Seguir leyendo

Vulnerabilidades criticas en sitio web de Caffarena

Como es de costumbre, cada vez que encuentro alguna vulnerabilidad en sitios web lo primero que hago es intentar comunicarme con los responsables de ese sitio web, si estas personas me contestan entonces los ayudo a solucionar los problemas y, una ves solucionado, genero un reporte sobre las vulnerabilidades y las publico aca, en caso contrario, si las personas con quien intento comunucarme tienen una reaccion negativa o derechamente ni si quiera responden los correos electronicos, tambien las hago publicas.
Esta vez es el turno de Caffarena.cl quien tiene cinco vulnerabildiades críticas en su sitio web.
Si entramos al sitio y pinchamos en “Acceso clientes” llegaremos a formulario de inicio de sesion de la intranet

caf1

Seguir leyendo

Vulnerabilidades más comunes en los sitios web

Estamos en el año 2009 y es increible que existiendo tantas herramientas de auditoría y el peligro/riesgo que existe por el mal tratamiento de la información, los desarrolladores esten cayendo en errores tan básicos.

Voy a listar las vulnerabilidades que, según mi experiencia, son las más comunes en los sitios web.

  • File/Path Disclosure: Esta vulnerabilidad es más comun de lo que uno pueda imaginar, aunque generalmente para poder llegar a explotarla es necesario pasar algun sistema de autentificacion ya que es muy comun en sistemas donde los usuarios tienen acceso a descargar o subir información como un sitio de una Universidad, biblioteca, intranet, etc.
  • XSS (Cross-Site Scripting): Esta vulnerabilidad tambien es muy comun, aunque es un poco mas compleja de explotar, requiere conocimiento en javascript, manejos de cookies y un poco de experiencia en el tema. Con esta vulnerabilidad es posible robar cookies para ingresar a algun sistema autentificado con un usuario ajeno.
  • SQL Injection: Hace un tiempo fue el boom de esta vulnerabilidad, muchos sitios tenian fallos de este tipo. Estuvo de moda explotar vulnerabilidades de phpnuke o phpbb basadas en SQL Injection que nos permitian escalacion de privilegios. Esta tecnica consiste basicamente en manipular una consulta sql para lograr nuestro proposito como saber nombre de tablas, version de la base de datos y tambien manipular ingresos de datos a la base de datos para modificar campos de tablas, crear archivos, cambiar privilegios, etc.
  • Authentication bypass:  Desde mi punto de vista, esta vulnerabilidad, bug o fallo es uno de los mas estupidos que un programador/desarrollador puede cometer. Para hacer un login es necesario manejarse con el tema de cookies o sesiones, segun el lenguaje o las necesidades y cuando una persona sin estos conocimientos intenta hacer un codigo de autentificacion sucede lo peor. El caso mas comun y sencillo de este tipo de fallo es saltarse el login haciendo un cambio en la URL. Por ejemplo, tenemos https://example.com/login.php y nos damos cuenta que ese login.php hace un POST con nuestros datos a https://example.com/admin/valida.php, luego, sin ingresar ningun usuario ni password escribimos manualmente la url https://example.com/admin y sorpresa! estamos en el sitio de admin sin usuario pass ni nada, habiendonos saltado el login. Aunque no lo crean, es bastante comun.

Validar correctamente la subida de un archivo con php

Cuando nos enfrentamos a esta situación se nos viene a la cabeza distintas formas de querer validar un fichero, según sea la necesidad; por tamaño, extension, etc.
Lo que voy a explicar es como realizar la una validación correcta y eficiente del tipo de archivo que se está subiendo y aprovecho de explicar tambien la importancia de realizar bien esta validación.

Antes que todo, hay que tener en claro como funciona esto de la subida de archivos y tener en mente que la validación se puede y debe hacerse a nivel de cliente y a nivel de servidor. Muchas veces me he enfrentado a situaciones donde el desarrollador solo hace la validación a nivel de cliente, en javascript. Por ejemplo, así:

  1. <script>
  2. function validar(archivo){
  3.    var b = archivo.split(‘.’);
  4.    if(b[b.length-1] == ‘txt’)
  5.       return true;
  6.    else{
  7.       alert(‘Error: El archivo debe ser .txt’);
  8.       return false;
  9.    }
  10. }</script>

Si llamamos a esa función pasando como parámetro archivo.txt no mostrara ningún error, de lo contrario, si pasamos otro argumento como pelicula.avi devolverá error y no nos dejará continuar.
Este tipo de validación es el menos eficiente, ya que realizar una petición por POST sin pasar por el formulario es algo muy simple, basta con tener las herramientas necesarias como por ejemplo curl.
Hay que dejar en claro que el hecho de validar un formulario unicamente en javascript es una gran irresponsabilidad, ya sea la validación de unos simples datos como los típicos nombres, apellidos, email hasta la subida de archivos. El realizar una validación por javascript nos entrega una capa más de seguridad, pero no la única.

Seguir leyendo

TryWho y el susto de los Chilenos

Hace días que vengo leyendo tweets, informaciones en blogs y sitios de noticias sobre el nuevo sistema de lucro mediante la información pública y privada de las personas. Lo que más me llama la atención es la poca información (por no decir ignorancia) de la gente que se asombró con esto, siendo que son ellos mismos quienes no se encargan de proteger su información, como lo expliqué en un post anterior.

Estoy trabajando en un artículo dónde demostraré muchas falencias en los sitemas de información en Chile, no queria quedarme sin dar mi opinion respecto a lo que se habla, mucho menos ahora que tambien se esta hablando de una posible modificacion en alguna ley de protección de datos.

Links relacionados:

Información sensible expuesta publicamente en la UCV

Al igual que en el post anterior, que hablaba sobre la vulnerabilidad en uno de los sitios de la Universidad de Chile, esta vez es el turno de la Universidad Catolica de Valparaiso (UCV), especificamente el campus virtual.

Al parecer el sitio estaba en mantenimiento ya que me encontre con varios mensajes que del tipo “Este sitio esta en mantencion“, pero esto no es excusa. Dejar un directorio que contiene informacion sensible de clientes, empleados, empresa, alumnos, etc no puede estar publicado en internet con permisos de listar directorio habilitado. Existen varias formas de proteger el contenido de un directorio desde la configuracion del fichero .htaccess hasta algo tan simple como el crear un index.php|html|htm vacios, sin dejar de lado que se puede hacer agregado reglas de acceso a la configuracion del dominio.

Bueno, encontré un directorio con información sensible de alumnos de esa Universidad, quizas la informacion es un poco antigua pero que importa eso si ni el nombre ni el rut de las personas cambia. Intenté comunicar con la webmaster del sitio pero no obtuve respuesta.

En este caso, se han expuesto en internet datos de aproximadamente 2000 alumnos.


Informacion hecha publica por la UCV

Informacion hecha publica por la UCV

En esa imagen podemos ver un poco de la informacion que aparece en el directorio vulnerable. Es un fichero separado por gatos (###) donde podemos ver que lo mas interesante son las columnas 3, 4, 5 y 6 que corresponden al rut, nombre completo de la persona, nombre de usuario y password respectivamente.

Seguir leyendo