Sto provando a simulare un attacco di inclusione di file remoto sul mio server web locale come parte di un corso che sto seguendo. Ho avuto l'idea di essere in grado di "loggarmi" su un sito web che ho configurato senza realmente loggarmi tramite il sistema, piuttosto semplicemente impostando le variabili di sessione appropriate in uno script remoto e quindi includendolo nel codice del mio sito web. Ora ho ottenuto lo script da includere ed eseguire sul mio sito web (posso echo stringhe ecc.) Ma non riesco a impostare le variabili di sessione usando lo script remoto. Qualcuno ha qualche idea del perché?
Ecco il codice del sito web finora:
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 (file remoto):
<?php
session_start();
$_SESSION['username'] = "foo";
echo "test";
?>
Quando richiedo http://localhost/index.php?file=http://127.0.0.1/hack.php
ottengo la seguente risposta:
test
Logged in as: