Español | English
rss facebook linkedin Twitter

(I)lógica de aplicaciones Web I

En muchas ocasiones nos encontramos con que el responsable de una aplicación es consciente de las vulnerabilidades que existen hoy en día en lo referente a seguridad web. Por lo que se dedican recursos, tiempo y dinero en protegerse de los tan temidos SQL injection, y de los señores Cross Site (Scripting y Request Forgery), entre otros.

Ahora bien, las herramientas automáticas que se utilizan para detectar estas vulnerabilidades, no siempre nos protegen ni nos advierten de otras debilidades que se producen en todo proceso de creación empleado por el hombre, ya que hay sistemas que no pueden aplicar: La lógica.

Cuando se está desarrollando una aplicación, no se piensa en que el usuario de ésta, puede ser una persona distinta a quien lo crea, por lo que es lógico que si como programador, creo una aplicación a un usuario para que de entre todas las opciones posibles escoja “a”, “b” o “c”, es impensable que pueda escoger una “d”, si pongo una serie de links visibles para que acceda el usuario, no va a probar con un admin.html, o que si le estoy dando acceso a una zona, nunca va a desear tener acceso con más privilegios ¿Por qué? Si los usuarios, los humanos, no son curiosos por naturaleza.

Esto nos lleva a que nunca se puede dar nada por supuesto, y que es necesario comprobar siempre el origen de los datos, y que se está accediendo a unos datos a los que se tiene el privilegio y permiso para acceder, y nunca dejar nada en manos del azar ni a la curiosidad del usuario.

Si cuando se diseña una aplicación, se especifican una serie de pasos para realizar una acción, ¿por qué no se comprueba que cuando un usuario escoge un producto a comprar, este se coloca en una cesta, y misteriosamente, con un precio inferior al original? Así que evitar el uso de variables del estilo, esAdmin=si, precioProducto=10.0, o usuario=Abel.


Abel Gomez

S21sec Auditoría

1 comentario:

eduardo abril dijo...

@Abel: realmente, yo creo, y puede que me equivoque, que las vulnerabilidades tipo XSS o SQLi desparecerán en poco tiempo ... Y sí, aparecerá alguna otra, pero lo que al final perdura será crackear la lógica de la aplicación (cambiar números de cuenta, nifs, id de usuario, número de ítems comprados, ...).

Cada vez los compiladores hacen más por la seguridad, pero no pueden obligar a los humanos a pensar, por mucho que nos guste.

Saludos,


(+34 902 222 521)


24 horas / 7 días a la semana



© Copyright S21sec 2013 - Todos los derechos reservados


login