s.p. digital icon s.p. Digital slogan

Hacking de sitios web y técnicas de explotación de la seguridad

hacking techniques and prevention

Ninguna aplicación de software o sitio web tiene una seguridad del 100%. Casi todos ellos tienen lagunas que son objetivo de los hackers para explotar y robar datos confidenciales almacenados en línea. ¿Cuáles son los beneficios de que un hacker robe datos de un sitio web o una aplicación? Si se roban datos importantes, es muy perjudicial y malo para los usuarios del sitio o de una aplicación y la credibilidad de una empresa disminuirá debido a la pérdida de confianza de los consumidores.

¿Qué es un hacker y cuáles son sus motivos para atacar un sitio web, un sistema informático, un software en línea o una aplicación? Según Wikipedia, hacker puede interpretarse como una persona o comunidad que posee habilidades especiales en el campo de la tecnología informática para encontrar agujeros de seguridad y resolver problemas.

Los piratas informáticos pueden dividirse en varias secciones en función del contexto de finalidad, a saber:

  1. Los piratas informáticos de sombrero blanco son personas o grupos altamente cualificados y con los conocimientos técnicos necesarios para buscar puntos débiles en un sistema informático, software, aplicación o sitio web y repararlos con el fin de reducir el riesgo de violación o robo de datos.
  2. Los piratas informáticos de sombrero negro son individuos o grupos que infringen la ley para atacar el sistema de seguridad de un sistema informático, aplicación, software y/o sitio web y luego robar datos para utilizarlos ilegalmente y pueden causar daños al objeto explotado.
  3. Los hackers de sombrero gris se sitúan entre los hackers de sombrero blanco y los hackers de sombrero negro. Actúan para encontrar ilegalmente agujeros de seguridad e informar al propietario con la intención de ser recompensados.
  4. Script Kiddie es un término para los hackers que son aficionados y no tienen experiencia en escribir sus propios scripts de programas. Por lo general, los hackers sólo intentan utilizar programas que encuentran y descargan para probar y atacar un sitio web.
  5. Los hackers patrocinados por el Estado son hackers que trabajan para el gobierno o para agencias de inteligencia estatales con el objetivo de proteger los sistemas informáticos o los sitios gubernamentales de otros ataques de hackers.

Con los riesgos que ya se conocen sobre la vulnerabilidad de que un sistema informático, aplicación, software o sitio web sea pirateado por personas o grupos irresponsables y se roben datos importantes para explotarlos con fines ilegales. Las empresas de software que cuentan con programadores fiables y experimentados en sus campos trabajarán cuidadosa y minuciosamente para cerrar lo antes posible cualquier brecha de seguridad que dificulte el acceso a los piratas informáticos gracias al sofisticado sistema de seguridad. Si es necesario, los inversores que disponen de un gran capital cooperarán con los piratas informáticos para asegurar un sistema informático y lo harán periódicamente.

¿Cuáles son las técnicas más comunes que utilizan los hackers para atacar y explotar la seguridad de los sitios web?

Estos son los tipos de técnicas de hacking que se utilizan a menudo

1. SQL Injection

engañar a la lógica de un sistema durante el proceso de inicio de sesión en una página web o de administrador web. Si la aplicación no valida correctamente los datos de entrada o las variables de un UR, los hackers pueden apoderarse de la base de datos asociada o modificarla.

Por ejemplo: ex-am-ple.com/items/iteams.php?itemid=999;

DROP TABLE USERS will generate the following SQL query:

SELECT ItemName, ItemDescription
FROM Items
WHERE ItemNumber = 999; DROP TABLE USERS

La consulta anterior pide que se eliminen los datos de usuario de la tabla de la base de datos.

Prevención:

  • Establecer el formato del formulario limitando los caracteres y la longitud de los caracteres permitidos cuando los introduce el usuario.
  • Validar cada dato entrante con métodos de lista blanca y lista negra, lo que significa filtrar códigos o caracteres si se indican como peligrosos, tales como (&, ;, `, ', \, ", |, *, ?, ~, <, >, ^, (, ), [, ], {, }, $, \n, y \r), mientras que la lista blanca es un carácter que es seguro introducir en un formulario.
  • Una consulta parametrizada es una consulta que utiliza marcadores, a los que se asignarán valores en el momento de ejecutar la consulta.
  • Las cadenas de escape SQL pueden reducir el riesgo de que los caracteres considerados peligrosos se conviertan en otros caracteres, por ejemplo:
    $username = mysql_real_escape_string($_POST['username']); 
    o 
    $param = mysql_real_escape_string($_GET['ID']);
  • Desactivar la notificación de errores puede reducir el riesgo de ataques de inyección SQL, ya que la función de notificación de errores en la inyección SQL es una función de la que pueden abusar los piratas informáticos para explotar sitios web.
  • Cree una buena estructura de base de datos separando los datos cruciales, como el nombre de usuario, la contraseña u otros identificadores, entre las tablas de la base de datos y asigne restricciones de acceso a cada usuario en función de su nivel. Cifre las contraseñas antes de guardarlas en la tabla de la base de datos utilizando funciones sql como MD5(), Hash(), Sha1(), crypt() o base64_encode().

2. Cross-Site Scripting (XSS)

XSS es una técnica de pirateo de un sitio web mediante la inserción de código de programación que suele utilizar javascript, VBScript, ActiveX, Flash y otros lenguajes del lado del cliente. Existen 2 tipos de ataques XSS: XSS persistente o XSS almacenado es el tipo de XSS más dañino. En XSS persistente, el script se almacenará permanentemente en el servidor de destino, como bases de datos, foros de mensajes. Y XSS no persistente es un ataque que funciona insertando código en la url.

Prevención:

  • Filtrado de determinados caracteres en el valor de entrada.
  • Validación de archivos POST y GET para evitar la inserción de scripts en los archivos subidos.
  • Implantar una política de cruce de fronteras que exija a los usuarios registrarse primero y ser verificados.
  • Añadir Security Development Lifecycle, desarrollo de software que ayuda a los programadores a hacer el software más seguro y a satisfacer las necesidades.

3. Brute Force Attacks

Los ataques de fuerza bruta consisten en que un hacker utiliza un programa automatizado para adivinar repetidamente la contraseña de un usuario.

Prevención:

  • Restringir a los usuarios el acceso dando un máximo de 3x intentos de acceso, y si se indica incorrectamente se bloquea automáticamente.
  • Crear una combinación de contraseñas con caracteres, números y caracteres especiales para que no sea fácil de adivinar.
  • Insertar código Captcha (Prueba Pública Completamente Automatizada para Diferenciar Ordenadores y Humanos) en las páginas que se consideran de riesgo, como los campos de inicio de sesión, comentarios o mensajes.
  • La autenticación de dos factores es un sistema de seguridad doble que se requiere al abrir una aplicación. 2FA validará cuando el usuario pase la fase inicial mediante el envío de un código ya sea vía sms, whatsapp o con aplicaciones como Google Authenticator.
  • Integración del servidor con CloudFlare es CDN (Content Delivery Network) y servicios de seguridad web.

4. Distributed Denial of Service (DDoS)

DDoS es un ataque que tiene como objetivo sitios web y servidores mediante el envío de tráfico falso para que el servidor se interrumpa causando la caída del servicio. Los ataques DDoS intentan agotar los recursos de las aplicaciones.

Prevención:

  • Proporcionar capacidad de recursos al servidor para minimizar los picos de tráfico. Esto se puede comprobar a través de Analytics u otro software que proporcione una visión general del número de visitantes para poder predecir la cantidad de capacidad de servidor necesaria.
  • Utilizar servicios de protección DDoS como CloudFlare porque básicamente el servidor se distribuye a través de CDN para que el rendimiento del servidor no sea excesivo.
  • Usando un Firewall fuerte para evitar ataques DDoS porque es capaz de filtrar sitios que se consideran peligrosos.
  • Si hay indicios de una IP sospechosa en la que el tráfico está fuera de los límites, puede bloquear el acceso desde la IP en cuestión.

5. Cross-Site Request Forgery (CSRF)

CSRF merupakan serangan eksploitasi web yang membuat pengguna tanpa sepengetahuannya mengirim sebuah permintaan atau request ke website melalui website yang sedang dibuka saat itu. Biasanya serangan ini berupa exploit URL yang dikirimkan ke Email dengan tujuan untuk mendapatkan data penting seperti password/email login.

Prevención:

  • Menerapkan 2FA pada login session.
  • Google Authenticator yang berfungsi untuk memvalidasi ulang saat permintaan untuk login.

6. Vulnerabilities

Las vulnerabilidades son ataques de hackers mediante la inserción de ciertos archivos que pueden ser malware que al descargarse e instalarse, el malware infectará el sistema informático.

Prevención:

  • Validar y desinfectar la entrada del usuario al insertar archivos externos.
  • Aplique filtros o listas blancas para limitar los tipos de archivos permitidos y las fuentes de archivos que se pueden insertar.
  • Limite el acceso a directorios seguros y evite incluir archivos de fuentes externas no fiables.

Se trata de una descripción completa de cómo proteger un sistema informático, una aplicación, un software o un sitio web de los ataques de piratas informáticos que pueden perjudicar a los inversores o usuarios. Por esta razón, es importante elegir un socio de la casa de software que haya sido probado y de confianza con el fin de evitar que ocurran varias de las peores posibilidades para que los inversores realmente necesiten llevar a cabo un mantenimiento y actualizaciones regulares para obtener actualizaciones del programa.

Por lo tanto, antes de decidirse a trabajar juntos, es necesario prestar atención a varios aspectos importantes que deben tenerse en cuenta a la hora de elegir una empresa de sorftware.