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. ...

noviembre 7, 2018 · 4 min · 749 palabras · Parzibyte

Dar permiso de select, insert, update y delete a usuario en MySQL

Introducción Esta es una entrada corta pero útil. A veces viene de maravilla saber cómo darle permisos a un usuario en MySQL de tal modo que realice las operaciones básicas de un CRUD o ABC. Veamos cómo crear un usuario y darle permisos de: select insert update delete Esto lo haremos con el comando GRANT en MySQL. Vamos allá. ...

octubre 22, 2018 · 3 min · 458 palabras · Parzibyte

Poner modo producción en CodeIgniter 3

Introducción Veremos cómo poner el modo producción en CodeIgniter. Este modo deberíamos activarlo siempre que publiquemos nuestro proyecto a internet para tener más seguridad. Recuerda que también puedes ver cómo habilitar el log de errores en CodeIgniter. ...

octubre 12, 2018 · 4 min · 661 palabras · Parzibyte

Subir y publicar un proyecto de CodeIgniter a internet

Introducción En este post explicaré algunos consejos y formas de subir un proyecto de CodeIgniter a internet. Veremos cómo asegurar nuestra app, qué archivos subir y por qué lo hacemos. Todo esto es para mostrarte cómo publicar tu app de CodeIgniter. Recuerda que primero debes leer una pequeña introducción a CodeIgniter porque ahí indico algunas cosas básicas. ...

octubre 12, 2018 · 2 min · 294 palabras · Parzibyte

¿Qué es un desbordamiento en C?

Introducción El lenguaje de programación C es un lenguaje muy bueno, pero antiguo. Es uno de los primeros lenguajes de programación de alto nivel que apareció en aquellos años. Un desbordamiento en C es una cosa peligrosa que nos puede pasar si desarrollamos en este lenguaje. Hoy veremos qué es un desbordamiento de una variable en C, cosa que es un poco peligrosa en apps que estén en producción. Por cierto, esto se refiere a cuando una variable se desborda; pero puede que quieras ver un ejemplo de desbordamiento de búfer en C; algo que es un poco más peligroso. ...

octubre 5, 2018 · 5 min · 856 palabras · Parzibyte

Comprobar si es correo electrónico en JavaScript: la forma definitiva

Introducción Sabemos que la validación del lado del cliente no sirve de mucho, únicamente para indicar al usuario si se ha equivocado en determinada cosa. De todos modos también podemos usar JavaScript del lado del servidor, en donde tendría más sentido validar un correo electrónico en JavaScript. El punto es que veremos cómo comprobar si un string es un correo electrónico válido usando JavaScript. Nota: mira aquí cómo validar un email en Python. ...

octubre 5, 2018 · 4 min · 825 palabras · Parzibyte

Script para cambiar todas las imágenes de una página web

Introducción En un día de estos estaba un poco aburrido y como siempre quise saber cómo cambiar todas las imágenes de una página web me dispuse a programar un script muy sencillo en JavaScript para lograr esto. Es decir, sin ser dueño de la página, cambiar todas las imágenes por una de nuestra preferencia Nota: esto no tiene nada que ver con hackeos o cosas de esas, es totalmente seguro y no daña a nadie. Si conoces un sitio con una vulnerabilidad XSS puedes aplicar el script y verás que funciona. Si no lo conoces, puedes probar abriendo la consola de depuración y pegando el código. De todas maneras, no me hago responsable si algo sale mal. ...

septiembre 10, 2018 · 3 min · 442 palabras · Parzibyte

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 ...

septiembre 7, 2018 · 7 min · 1311 palabras · Parzibyte

Explicación de :(){ :|:& };: en Linux

Introducción Hay un “comando” (que no es un comando) de Linux que no es tan peligroso si lo ejecutas en tu PC (con un reinicio basta) pero que en un servidor puede causar una denegación de servicios. Dicho comando es :(){ :|:& };: El comando en cuestión, como lo dije arriba, no es un comando. Es la definición de una función junto con la llamada a la misma. ...

septiembre 5, 2018 · 2 min · 360 palabras · Parzibyte

Autenticación SSH Ubuntu | clave pública y privada

Introducción Hoy veremos cómo conectarnos a un servidor remoto que ejecuta Ubuntu 18.04 desde un servidor local utilizando SSH sin contraseña; ya que utilizaremos autenticación por clave pública y privada. ...

agosto 21, 2018 · 3 min · 482 palabras · Parzibyte