Encriptar contraseñas con Node

En este post de programación con JavaScript del lado del servidor en el entorno de Node te mostraré cómo asegurar las contraseñas de los usuarios; esto es, encriptarlas.

De hecho me parece que el término correcto es hashear, pues encriptar es convertir algo plano a encriptado y luego poder hacer lo contrario; en cambio hashear es convertir algo plano a encriptado, pero ya no poder obtener el valor original a partir del encriptado.

Como sea, te mostraré cómo asegurar, encriptar o cifrar las contraseñas. Vamos a usar el algoritmo bcrypt pues es perfecto para hashear contraseñas en Node.

(más…)

Obtener clave de red WPA2 con Aircrack-ng

Hackear WPA2 con aircrack

Este no es un post falso ni con clickbait. Realmente te mostraré cómo puedes obtener la clave de una red WiFi que esté protegida con WPA2 usando aircrack.

Recuerda que para que esto funcione debes contar con aircrack-ng instalado. Si usas debian o uno de sus derivados simplemente ejecuta sudo apt-get install aircrack-ng

También necesitas tener un adaptador inalámbrico (tarjeta de red, antena, como le llames) que soporte el modo monitor.

Recuerda que todo esto no es simple magia, hay varios factores que intervienen. Por cierto, yo solo te muestro esto con fines educativos y no me hago responsable de lo que puedas llegar a hacer con esto.

(más…)

Bloquear IP con Apache

Bloquear IP con Apache server

En este artículo te muestro cómo denegar el acceso completo a tu sitio web a un usuario con el solo hecho de saber su IP, utilizando el servidor web apache o apache web server.

Bloquear el acceso a un sitio web según la IP del cliente permite bloquear visitantes maliciosos o bots. Eso sí, recuerda que pueden cambiar su IP así que puedes combinar esto con un captcha.

Bueno, veamos cómo usar apache y el archivo .htaccess para degenar el acceso a determinada ip.

(más…)

Por parzibyte, hace
Cadena aleatoria segura criptográficamente con Python

Generar contraseña o cadena segura en Python

Con el lenguaje de programación Python es muy fácil generar un token o cadena segura, hablando criptográficamente.

Recientemente se ha introducido el módulo secrets que nos permite generar una contraseña aleatoria y segura para usarla como token, clave de encriptación o cosas de esas.

Cadena aleatoria segura criptográficamente con Python

Cadena aleatoria segura criptográficamente con Python

Si no tienes Python 3, es hora de actualizar. Mira cómo instalarlo aquí.

(más…)

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…)

Columnas con autoincremento en SQLite3

Introducción

El mismo sitio de SQLite3 dice que no recomienda el autoincremento o las columnas auto incrementables. Sin embargo, algunas veces es necesario hacer esto y según yo, no afecta tanto al rendimiento.

Veamos cómo crear una tabla con autoincremento y cómo es que SQLite3 maneja eso internamente. Por cierto, ya sabemos que este motor crea la columna rowid pero no podemos confiar en ella.

(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…)