Fabian Martinez Portantier

FMP

Experto en Ciberseguridad
Co-Fundador de Securetia
Co-Fundador de h4ck3d Security Conference
Coordinador Carrera Seguridad Informática en EducacionIT

Obteniendo Datos Analizando Peticiones HTTP

ciberseguridad php

Este es un pequeño código PHP que muestra cómo recabar datos sobre un cliente analizando las peticiones HTTP que el mismo realiza.

La idea es generar un servicio que, al recibir una petición HTTP, devuelva una imagen. Pero que, además, deje registro de la fecha y hora, la dirección IP del cliente que realizó la petición, y el User-Agent del mismo.

Teniendo esto, podemos adjuntar dicha imagen a, por ejemplo, un correo electrónico, para que cuando alguien abra dicho correo, su cliente realice la petición de la imagen al servidor, y quede registro de lo sucedido.

<?php

$logfile = 'log.txt';

$date = date('Y/m/d H:i:s');

$ipaddr = $_SERVER['REMOTE_ADDR'];

$uagent = htmlentities($_SERVER['HTTP_USER_AGENT']);

$logstring = "$date - $ipaddr - $uagent\n";

file_put_contents($logfile,$logstring, FILE_APPEND);

header('Content-Type: image/jpeg'); readfile('image.jpg');

?>

Obviamente, este programa es extremadamente básico, pero sirve para demostrar el concepto. Por otra parte, teniendo la dirección IP y el User-Agent del cliente, podemos utilizar otros servicios para obtener muchos más datos del mismo, como:

  • País de Origen
  • Proveedor de Internet
  • Vulnerabilidades en el Software

Para el país de origen y el proveedor de internet, podemos utilizar algún servicio como el de MaxMind (www.maxmind.com), que es gratuito y no requiere registro.

Para buscar vulnerabilidades, disponemos de varios servicios, como:

http://www.securityfocus.com

http://www.exploit-db.com

https://nvd.nist.gov

Esto es todo por ahora. Espero que les sirva de utilidad, tanto el código como las explicaciones.

ciberseguridad php

Licencia Creative Commons
Creative Commons Atribución-CompartirIgual 4.0 Internacional.