Entradas

Mostrando las entradas de noviembre, 2023

Tutorial de conexion de PHP a MySQL

Hola a todos!! Espero tengan un estupenda semana. En el tutorial de hoy veremos como conectar nuestra apicacion en PHP a nuestro base de datos en MySQL. Para definir un poco de contexto, recordemos que PHP es un lenguaje de programacion que generalmente es usada para programar aplicaciones/APIs web, mientras que MySQL es un sistema gestor de bases de datos relacionales. PHP y MySQL han estado dentro de la industria desde los 90s, y gracias a que se han adaptado a los tiempos siguen tienendo alto impacto en el mercado. Quiero mencionar que este articulo no es extensivo (mucho menos comprensivo), para aprender a programar en PHP o en SQL, estoy asumiendo que ustedes los lectores ya tienen los fundamentos para programar en el dichos lenguajes. Quiza en algun futuro, lejano o cercano, creare un articulo para entender PHP. El Modelo Cliente-Servidor Tomenos un momento para recordar el modelo cliente-servidor . Donde el Servidor atiende a todas las solicitudes de sus Cliente...

Tutorial para instalar PHP, Apache y MySQL en Linux

Hola a todos!!! En esta entrada del blog discutiremos como instalar PHP, Apache y MySQL. Estos dos son parte del stack llamado LAMPP (Linux, Apache, MySQL, PHP y Perl) a comparacion del llamado MEAN stack (MongoDB, Express, Angular y NodeJS). Desde la terminal ejecutamos los siguientes comandos: Nos aseguramos de actualizar nuestros repositorios. Este proceso puede tardar varios minutos. sudo apt update &amp&amp sudo apt upgrade -y Siguiente instalamos Apache y MySQL. sudo apt install apache2 mysql-server Tambien instalamos PHP y el modulo de PHP para MySQL. sudo apt install php php-mysql Listo! Seguido a esto es recomendable configurar la instancia de MySQL y Apache.

Tutorial de Falsificacion de Solicitud entre Sitios (CSRF)

Hola a todos amigos!! Esta semana cubriremos una vulnerilidad llamada Falsificacion de Solicitud entre Sitios (Cross-Site Request Forgery - CSRF). La Falsificacion de Solicitud entre Sitios (o Cross-Site Request Forgery), es una vulnerabiilidad que afecta a los clientes de un servidor web. Esta vulnerabilidad sucede debido a que aplicacion web erra en verificar la validadez de una solicitud HTTP de un cliente. Analizemos la siguiente forma en HTML: &ltform method="POST" action="transferencias.php"&gt &ltinput type="text" name="cuenta" /&gt &ltinput type="text" name="cantidad" /&gt &ltinput type="submit" value="Transferir" /&gt &lt/form&gt En el codigo anterior tenemos un claro ejemplo de una forma la cual acepta los datos de un numero de cuenta y cierta cantidad. Una vez que hacemos click en el boton de Transferir entonces se env...

Tutorial de Secuencia de Comandos entre Sitios - Cross Site Scripting (XSS)

Imagen
Saludos a todos!! Esta semana discutiremos una vulnerabilidad llamada Secuencia de Comandos entre Sitios (o Cross-Site Scripting [XSS]). La vulnerabilidad de Secuencia de Comandos entre Sitios afecta a los clientes de un servidor web. La vulnerabilidad en si consiste en la falta de sanizitacion de parte del servidor hacia el ingreso de datos del usuario. Asi, un atacante podria entonces inyectar codigo HTML para poder lograr que los clientes que descargen el html del servidor web, tambien ejecuten dichos payloads. Asi pues analizemos el siguiente ejemplo. Tenemos una aplicacion web que registra la entrada y salida de los empleados de una compania. El codigo en PHP para registrar la entrada o salida del empleado a la base de datos es el siguiete: $baseDeDatos = "Registros"; $usuario = "applicacion_web"; $contrasena = "Contr@sena_Sup3r_Segur4_2023"; $servidor = "MXSQLDEV01" $conexion = new mysqli($servidor, $usuario, $c...

Tutorial de Inclusion de Archivos

Imagen
Hola a todos!!! Esta semana vamos a hablar de una vulneribilidad muy conocida llamada Inclusion de Archivo. Inclusion de Archivos es una vulnerabilidad que afecta a aplicaciones web. Las aplicaciones que padecen de esta vulnerabilidad erran en sanitizar apropiadamente datos provistos por el usuario. Esta vulnerabilidad se encuentra en la manera en la que la aplicacion web procesa o accesa a archivos. Analizemos el siguiente codigo en PHP: if (!isset($_GET['pagina'])) { $_GET['pagina'] = "inicio.php"; } include($_GET['pagina']); En el codigo anterior podemos ver que primero se verifica si el parametro pagina fue provisto por el usuario, en caso de no ser asi se le asigna el valor de inicio.php , seguidamente se procede a incluir la pagina que se especifico en el arreglo $_GET . Evidentemente este codigo es vulnerable a un ataque de inclusion de archivos , dado que el codigo no verifica lo que el usuario ha ingresado...