Fabian Martinez Portantier


Obteniendo Datos Analizando Peticiones HTTP

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.


Licencia Creative Commons
Esta obra está bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.