Contraseña no crackeada - Hash no encontrado

¿Cómo almacenar contraseñas en bases de datos?

El día de hoy te voy a compartir un poco de mi experiencia como programador al guardar contraseñas en bases de datos, sin importar lenguaje de programación ni motor de base de datos.

Te daré algunos consejos para almacenar passwords en una base de datos y que obviamente queden seguras para que ni siquiera tú sepas cuál es la contraseña pero puedas resetearla en caso de ser necesario.

(más…)

Firma digital con RSA y Dart aplicable a Flutter

Firma digital con Dart y RSA

El día de hoy vamos a ver cómo firmar un mensaje de manera digital con Dart. Al hacerlo con Dart vamos a poder aplicar esto con Flutter más adelante, y así podremos firmar digitalmente en Android y cualquier otra plataforma soportada por Dart.

Firma digital con RSA y Dart aplicable a Flutter

Firma digital con RSA y Dart aplicable a Flutter

Recuerda que vamos a necesitar un par de claves: la privada y la pública. Ambas necesitan funcionar con la encriptación RSA.

Por cierto, toma en cuenta que vamos a firmar, no a encriptar. Lo que vamos a hacer es verificar la autenticidad de un mensaje, pero no vamos a esconder ni proteger nada.

(más…)

Firma digital con Golang y RSA

Firma digital con Go y RSA

El día de hoy vamos a ver cómo firmar y verificar un mensaje con Golang y un par de claves RSA.

Es decir, por un lado veremos cómo firmar digitalmente un mensaje usando una clave privada y por otro lado vamos a ver cómo comprobar la autenticidad de dicho mensaje.

Recordemos que las firmas digitales tienen el propósito de comprobar la autenticidad de un mensaje, no de ocultarlo (de eso se encarga la criptografía).

Veamos entonces cómo firmar y verificar firmas con Go.

(más…)

Encriptar y desencriptar información con JavaScript usando AES

Encriptación con JavaScript del lado del cliente usando la Web Crypto API

En este post de programación con JavaScript en el navegador veremos cómo encriptar y desencriptar datos usando una API nativa, segura y confiable.

Encriptar y desencriptar información con JavaScript usando AES

Encriptar y desencriptar información con JavaScript usando AES

Vamos a usar la interfaz Crypto a través de window.crypto. Al final podremos encriptar y desencriptar archivos usando una contraseña, derivando una clave de la misma y usando AES para el cifrado de datos.

Nota: voy a usar cifrado y encriptado como sinónimos para referirme a la encriptación de información.

Por cierto, usaremos la encriptación simétrica aunque también es posible usar la asimétrica con claves públicas y privadas.

(más…)

Obtener clave de WiFi con wifiphisher y phishing

En posts anteriores te mostré cómo obtener la contraseña o clave de WiFi de una red con Aircrack-ng usando fuerza bruta, hoy veremos otro tipo de ataque en donde en su lugar hacemos phishing para que el usuario nos dé la clave.

Poniéndolo en otras palabras vamos a hackear una red wifi, ya que el usuario nos dará la clave del módem. La herramienta que vamos a usar se llama wifiphisher.

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

Información del certificado https

OpenSSL en Windows – Generar crt y key para HTTPS

En este post te mostraré cómo generar un certificado para poder (en palabras simples) agregar HTTPS a una app web usando el archivo con extensión crt y la clave con extensión key, desde el proceso de descargar openssl hasta la generación.

Nota: este certificado no es válido en la mayoría de casos, es decir, funciona para pruebas locales o para cuando necesitas HTTPS para pasar la seguridad del navegador, pero no para ponerle https a un sitio normal ya que dará una advertencia. Si quieres hacer eso, compra uno con tu proveedor de hosting o utiliza letsencrypt.

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

Demostración de reCAPTCHA v2 con PHP

reCAPTCHA v2 con PHP – Ejemplo de integración

Integrar reCAPTCHA v2 con PHP en formulario

En este post te enseñaré a integrar el servicio llamado reCAPTCHA v2 con PHP, el cual es un simple captcha o checkbox de “no soy un robot” en un formulario HTML.

También te enseñaré a verificarlo con PHP del lado del servidor.

El servicio que vamos a integrar es reCAPTCHA v2, el cual funciona en varios lenguajes de servidor, pues se consume usando HTTP; hoy veremos cómo hacerlo en PHP.

Veremos un ejemplo del formulario y de la comprobación en el lado del servidor.

También dejaré una demostración. Al final tendremos algo como lo del gif:

Demostración de reCAPTCHA v2 con PHP

Formulario de Bootstrap 4 con reCAPTCHA v2 y PHP

(más…)