Programación segura - Filtrado de datos

PHP nos facilita la programación segura para no comprometer la seguridad del servidor con distintas funciones para el tratamiento de datos. A partir de este apartado veremos como podemos filtrar los datos enviados por los usuarios a través de variables superglobales como $_GET, $_POST, $_COOKIE, etc.

En esta sesión nos centraremos en el filtrado de datos suponiendo que todos los datos enviados a través de variables como $_GET, $_POST,... es inseguro.

Vulnerabilidades web más conocidas:

  • XSS (Cross Site Scripting): vulnerabilidad como consecuencia de errores de filtrado de las entradas del usuario con el fin de conseguir vulnerar al cliente o al servidor de la aplicación web. Por ejemplo, inyectando:

    • Código de marcas (html)
    • Código ejecutable en la máquina cliente (Javascript)
    • Código ejecutable en el servidor (PHP) en las entradas de aplicaciones web
  • SQL Injection: Consulta que no ha sido correctamente tratada no escapando los caracteres especiales pudiendo lograr resultados no previstos. Ejemplos:

    • Autorizar un acceso inválido.
    • Acceso no autorizado a una base de datos.
    • Ejecutar código no permitido en el servidor.
  • RFI - LFI (Remote/Local File Inclusion): incluir archivos remotos dentro de nuestros scripts PHP. La función "include()" de PHP nos permite incluir archivos dentro de nuestro documento como si fueran parte del texto. Por ejemplo:

<?php
   $pagina = $_GET['pag'];
   include($pagina);
?>

Esta vulnerabilidad no afecta solamente a la seguridad de los usuarios sino también a la del servidor, ya que nos permite modificar archivos de la página.

results matching ""

    No results matching ""