Cuando descubrí que las contraseñas de una web no estaban hasheadas

Introducción

Esto es otra historia personal, se trata sobre una plataforma web que está mal programada, de la cual descubrí que no hashea (o encripta como dicen por ahí, aunque no es la forma correcta) las contraseñas de los usuarios, además de que no valida nada.

Todo comenzó porque por gracioso cambié mi contraseña y puse una de 100 caracteres. La cambié, cerré sesión y magia, ya no podía entrar.

(más…)

Ejemplo y prevención de secuestro o robo de sesión en PHP

Introducción

En la mayoría de nuestras apps escritas en PHP utilizaremos sesiones. Las sesiones sirven para guardar datos que persisten aunque el usuario refresque la página. En este post veremos cómo robar una sesión y cómo prevenirlo.

Las sesiones generan una cookie y con dicha cookie identificamos al usuario. Por ejemplo, si yo inicio sesión se me da la cookie asd123 y si otro usuario inicia, se le da la cookie asd666 (son ejemplos).

Ahora supongamos que el usuario tiene permisos de administrador, y yo no. Pero si le robo su cookie y me la pongo a mí mismo, PHP pensará que soy el usuario administrador.

En otras palabras, inicialmente yo tenía la cookie asd123 y el usuario la asd666. Se la robo y ahora yo tengo la asd666.

Vamos a ver un ejemplo y prevención de secuestro o robo de sesión en PHP

(más…)

Qué es un ataque CSRF y cómo prevenirlo

Introducción

Hoy vamos a ver qué es un ataque CSRF. Es un ataque que ya es viejo pero sin dudas muchos de nosotros seguimos teniendo esa vulnerabilidad en nuestros sitios. No importa el lenguaje de programación que utilicemos, con el simple hecho de realizar operaciones en el servidor ya estamos expuestos.

Tampoco es para preocuparse tanto, pero bueno, vamos allá.

(más…)