viernes, 6 de enero de 2023

Como proteger nuestro dispositivo movil de los hackers

Proteger nuestro dispositivo móvil de ataques de hacking o acceso no autorizado puede parecer una tarea difícil, pero hay medidas simples que podemos tomar para minimizar el riesgo de que ocurra. A continuación se describen algunas de las principales formas de proteger nuestro dispositivo móvil de forma efectiva:

  1. Mantener el dispositivo actualizado: asegurarse de que el dispositivo móvil esté siempre actualizado a la última versión del sistema operativo es esencial para evitar vulnerabilidades conocidas. Las actualizaciones suelen incluir parches de seguridad que corrigen problemas de seguridad identificados en versiones anteriores.

  2. Usar contraseñas seguras: es importante utilizar contraseñas seguras para proteger el dispositivo móvil y evitar que terceros accedan a él. Una contraseña segura debe tener al menos ocho caracteres y combinar letras, números y símbolos. También es recomendable utilizar una contraseña diferente para cada cuenta o servicio que utilizamos en el dispositivo.

  3. Configurar la autenticación de dos pasos: la autenticación de dos pasos es una medida de seguridad adicional que solicita un código de verificación cada vez que se accede a la cuenta desde un dispositivo desconocido. Esto hace que sea mucho más difícil para los hackers acceder a nuestra cuenta, incluso si consiguen nuestra contraseña.

  4. Utilizar una red privada virtual (VPN): una VPN cifra nuestro tráfico de internet y nos permite acceder a internet de forma segura desde cualquier lugar. Esto es especialmente útil cuando conectamos nuestro dispositivo móvil a redes públicas, como las de los cafés o aeropuertos, donde el riesgo de ataques es mayor.

  5. Activar la encriptación de datos: la encriptación de datos protege nuestros datos personales y privados de terceros no autorizados, incluso si el dispositivo es robado o se pierde. La mayoría de los sistemas operativos móviles ofrecen opciones de encriptación de datos, así que asegúrate de activarlas para proteger tus datos.

  6. Evitar descargar aplicaciones de fuentes no confiables: aunque las tiendas de aplicaciones oficiales suelen ser seguras, descargar aplicaciones de fuentes no confiables puede exponer nuestro dispositivo a malware y otras amenazas de seguridad.

  7. Configurar la privacidad de las aplicaciones: es importante configurar la privacidad de las aplicaciones que instalamos en nuestro dispositivo móvil. Muchas aplicaciones solicitan permisos para acceder a datos personales o a funcionalidades del dispositivo, como la cámara o el micrófono. Asegúrate de revisar los permisos que concedes a cada aplicación y de no conceder permisos innecesarios.

  8. Evitar hacer clic en enlaces sospechosos: los ataques de phishing, que intentan engañarnos para que revelamos información confidencial o hagamos clic en enlaces maliciosos, son cada vez más comunes. Es importante ser cautelosos al hacer clic en enlaces que nos llegan por correo electrónico o mensajes de texto y asegurarnos de que la dirección del enlace es segura antes de hacer clic en él.

  9. Utilizar una aplicación de seguridad móvil: las aplicaciones de seguridad móvil ofrecen protección adicional contra malware y otras amenazas de seguridad. Algunas de estas aplicaciones también incluyen funcionalidades adicionales, como la localización del dispositivo en caso de pérdida o robo.

  10. Realizar copias de seguridad de forma regular: es importante realizar copias de seguridad de nuestros datos de forma regular para protegerlos en caso de pérdida o daño del dispositivo. Existen diferentes opciones para realizar copias de seguridad, como la sincronización con la nube o la copia de seguridad a un disco duro externo.

  11. Siguiendo estas medidas, podemos proteger nuestro dispositivo móvil de forma efectiva y minimizar el riesgo de que sea hackeado o accedido de forma no autorizada. No obstante, es importante recordar que la seguridad móvil es un tema en constante evolución, por lo que es fundamental estar siempre atentos a las últimas amenazas y tendencias y adaptar nuestras medidas de seguridad en consecuencia.

jueves, 5 de enero de 2023

Que es el SQLi

Que es SQLi

SQL Injection (SQLi) es una vulnerabilidad comúnmente encontrada en aplicaciones web. Se produce cuando un atacante inserta código malicioso en una consulta SQL, con el fin de manipular o acceder a información confidencial de la base de datos.

Una de las principales razones por las que las aplicaciones son vulnerables a SQLi es porque no están adecuadamente protegidas contra la entrada de datos maliciosos. Los desarrolladores a menudo confían en la validación de entrada del lado del cliente, en lugar de realizar una verificación adecuada del lado del servidor. Esto significa que, si un atacante puede eludir la validación del lado del cliente, puede enviar código malicioso directamente al servidor y ejecutar consultas no autorizadas.

Otra razón por la que las aplicaciones son vulnerables a SQLi es porque a menudo se construyen usando consultas dinámicas que incorporan datos de entrada del usuario directamente en la consulta. Si un atacante puede manipular estos datos de entrada de alguna manera, puede alterar la consulta original y ejecutar código malicioso.

Para protegerse contra SQLi, es importante que los desarrolladores utilicen sentencias preparadas y parámetros en lugar de construir consultas dinámicamente. También es importante realizar una validación adecuada de los datos de entrada tanto del lado del cliente como del servidor y utilizar medidas de seguridad adicionales, como la encriptación y la autenticación de usuarios.

En resumen, la vulnerabilidad de SQLi es una amenaza común para las aplicaciones web y puede permitir que los atacantes accedan o manipulen información confidencial de la base de datos. Para protegerse contra esta vulnerabilidad, es importante utilizar sentencias preparadas y parámetros, realizar una validación adecuada de los datos de entrada y utilizar medidas de seguridad adicionales.

Como los atacantes se aprovechan de un fallo SQLi:


Aquí hay algunos ejemplos de cómo un atacante puede explotar una vulnerabilidad de SQLi:

  1. En una aplicación web que permite a los usuarios buscar productos en una base de datos, un atacante puede insertar código malicioso en el campo de búsqueda. Por ejemplo, si la aplicación construye una consulta dinámica que incluye el término de búsqueda del usuario directamente en la consulta, el atacante puede insertar código que ejecute una consulta que elimine todos los registros de la tabla de productos.

  2. En una aplicación que permite a los usuarios iniciar sesión con un nombre de usuario y una contraseña, un atacante puede insertar código malicioso en el campo de nombre de usuario. Por ejemplo, si la aplicación construye una consulta dinámica que busca un nombre de usuario en la base de datos, el atacante puede insertar código que ejecute una consulta que muestre todos los nombres de usuario y contraseñas almacenados en la base de datos.

  3. En una aplicación que permite a los usuarios realizar compras en línea, un atacante puede insertar código malicioso en el campo de dirección de envío. Por ejemplo, si la aplicación construye una consulta dinámica que incluye la dirección de envío del usuario directamente en la consulta, el atacante puede insertar código que ejecute una consulta que cambie todas las direcciones de envío a una dirección controlada por el atacante.

Es importante tener en cuenta que estos son solo algunos ejemplos de cómo un atacante puede explotar una vulnerabilidad de SQLi. Hay muchas otras formas en las que un atacante puede manipular consultas y acceder a información confidencial de la base de datos.

Como proteger un sistema de SQLi:


Hay varias medidas que puede tomar para proteger su sistema contra fallos de SQLi:

  1. Utilice sentencias preparadas y parámetros: en lugar de construir consultas dinámicamente, utilice sentencias preparadas y parámetros. Esto permite que la base de datos distinga entre el código y los datos de entrada, lo que hace más difícil para un atacante manipular la consulta.

  2. Realice una validación adecuada de los datos de entrada: asegúrese de que todos los datos de entrada sean válidos y esperados antes de utilizarlos en una consulta. Esto puede ayudar a evitar que los atacantes inserten código malicioso en sus entradas.

  3. Utilice medidas de seguridad adicionales: como la encriptación y la autenticación de usuarios, pueden ayudar a proteger su sistema contra ataques de SQLi.

  4. Mantenga sus aplicaciones y sistemas actualizados: asegúrese de que todas las aplicaciones y sistemas estén actualizados con las últimas parches de seguridad y versiones. Esto puede ayudar a proteger su sistema contra vulnerabilidades conocidas.

  5. Realice pruebas de penetración: utilice herramientas de prueba de penetración para buscar vulnerabilidades en su sistema y corríjalas antes de que los atacantes las exploten.

En resumen, proteger su sistema contra fallos de SQLi implica utilizar sentencias preparadas y parámetros, realizar una validación adecuada de los datos de entrada, utilizar medidas de seguridad adicionales y mantener sus aplicaciones y sistemas actualizados. También es importante realizar pruebas de penetración para detectar y corregir vulnerabilidades.

domingo, 3 de mayo de 2020

Vulnerar Login SQLi sql injection Bypass - Laboratorio

Login Bypass Con SQLi - Laboratorio

Login bypass - sql injection
Login bypass - sql injection

Payloads:

  • ' OR 1=1--
  • 'OR '' = '
  • 'OR 1=1--
  • ' or "
  • -- or # 
  • ' OR '1
  • ' OR 1 -- -
  • " OR "" = "
  • " OR 1 = 1 -- -
  • ' OR '' = '
  • '=0--+
  •  OR 1=1
  • 'or'1'='1  ->> usado es este laboratorio

Objetivo del laboratorio

Cuando los sistemas de validación son creados sin tener en cuenta buenas prácticas de desarrollo nos podemos encontrar con escenarios en los cuales la inyección sql puede facilitar a los ciberdelincuentes el acceso a los sistemas mediante diferentes payloads los cuales al ser ingresados en los campos de usuario o contraseña permiten el acceso parcial o total al dashboard de administracion. Mediante este laboratorio se pretende desplegar un entorno de pruebas en el cual se puedan ejecutar los payloads previamente listados para observar el alcance que está vulnerabilidad puede tener en nuestros sistemas.

Lo primero que debemos hacer es crear una base de datos de prueba la cual tenga una tabla llamada users que contendrá los campos que se muestran en la siguiente imagen:

sql injection payload bypass login
Estructura de la tabla Users

todos los archivos tanto de la base de datos como el index.php y el index.html estarán al final de este post para su descarga.

En la tabla users ingresaremos un usuario en mi caso ingrese el siguiente:

sql injection payload bypass login
Usuario almacenado en la base de datos

lo último que debemos hacer es crear el archivo index.php el cual recibirá los parámetros por método get de usuario y contraseña y se encargará de buscar en la base de datos las credenciales ingresadas en el login.html para validar si existe o si los datos ingresados son erróneos.

codigo php vulnerable a sql injection - login bypass
Php vulnerable a sqli - login bypass
nos enfocaremos en este archivo php ya que este es el que consulta en la base de datos y el que contendrá la vulnerabilidad de sql injection. 

Si observamos la linea 17 la cual contiene la consulta a la base de datos:

 "SELECT * FROM users WHERE nickname = '$nickname_sent' and password = '$password_send';

nos podemos dar cuenta que no se ha hecho ningún tipo de validación por parte del desarrollador para evitar una inyección en los parámetros de nicknamae y password, de este modo si un atacante enviara como parametro 'or'1'='1  la consulta sql quedaría de este modo:

 "SELECT * FROM users WHERE nickname = ''or'1'='1' and password = ''or'1'='1';

Como podemos observar el payload  'or'1'='1   insertado como parámetro genera una inyección que sobreescribe la consulta sql y altera su normal funcionamiento, en este laboratorio daría como resultado el inicio de sesión con los datos del primer usuario almacenado en la tabla users pero a partir de este fallo se podría listar toda la información de la base de datos tests o las bases de datos almacenadas en el servidor.

Descargar Los archivos: