Criptonomicón

Suscripción gratis

Susurros

Ariadn@

¿Intimidad?

Artículos

Seguridad

Acceso a BD

Autenticación

Comercio-e

Linux

Navegación segura

Control de acceso

CGI

Java

JavaScript

Cookies

Crashes

Agujeros

Spam

Remailers

Anonimato

Correo seguro

Web seguro

Consejos prácticos

Referencias

Libro de Visitas

Agujeros de seguridad

Ataque a través de una base de datos

Todavía pueden encontrarse muchas bases de datos sencillas (o cutres, según se mire), formadas por un único archivo plano (flat file), donde se encuentra en caracteres ASCII la información que contiene la base de datos. El proceso de creación de una base de datos de formato plano se reduce a crear un fichero cuyas entradas se corresponden con los campos de la base de datos. A la simplicidad de creación, se añade la facilidad a la hora de hacer consultas, por ejemplo sirviéndose de herramientas de búsqueda del propio sistema operativo, como grep, que devuelve las líneas que contengan al término de búsqueda suministrado. De esta forma, nos devolvería todos los registros asociados a la palabra a buscar. Un ejemplo típico sería la minibase de datos con las contraseñas de los usuarios en un sistema Unix, el famoso /etc/passwd.

Supongamos que disponemos en nuestro servidor Web de una base de datos tal, llamada personal, y queremos conocer la información referente al usuario Gonzalo. Bien, bastaría con lanzar el siguiente comando:

grep gonzalo personal

y nos devolvería todas las líneas (registros) que contuviesen en alguno de sus campos la palabra "gonzalo".

El siguiente paso consistiría en automatizar el proceso desde una página Web, de manera que cualquier usuario pudiese realizar consultas.

Para ello, se le presenta al usuario el siguiente formulario:

Introduzca el nombre de la persona cuyos datos desea buscar:

Hasta ahora todo parece perfectamente normal, pero ¿qué ocurriría si introduzco en el recuadro la siguiente cadena?:

root /etc/passwd; rm

Copia la cadena al portapapeles, pégala en la casilla de búsqueda y pulsa el botón de enviar.

En este caso, como habrás comprobado en la página devuelta, se buscaría la línea correspondiente a la clave del root en el fichero /etc/passwd y a continuación se borraría la base de datos personal. Todo ello por no preocuparse de filtrar la entrada del usuario.


Copyright © 1997-1998 Gonzalo Álvarez Marañón, CSIC. Todos los derechos reservados.

Criptonomicón es un servicio ofrecido libremente desde el Instituto de Física Aplicada del CSIC. Para información sobre privacidad, por favor consulte la declaración de política sobre privacidad.