Domanda 1)
in PHP quando controlliamo:
dir1/dir2/../file.txt ====(this is same as)=====> dir1/file.txt
è qualcosa di simile possibile:
file_get_contents('/home/path/' . $_GET['evil']. '/file.txt');
se l'hacker ha impostato $evil
su come:
o ../
evil_character
(Voglio sapere se ce ne sono di reali) che fa sì che PHP sfugga alla parte destra del PERCORSO (so come uscire dalla parte sinistra del percorso ), quindi, l'hacker ha effettuato l'accesso in questo modo:
'/home/path/'. 'eviltfile.php?$evil = '../red apple dir1/dir2/../file.txt ====(this is same as)=====> dir1/file.txt
';
$message = 'green ' . $evil. ' banana';
print($message ) ==============> red apple
'. '/file.txt'' //and thus file.txt was ignored
Domanda 2)
Ho un'altra domanda sulle stringhe generali (non sul percorso del file), quindi, se c'è un %code% che fa sì che PHP sfugga alla parte sinistra o alla destra STRING, in questo modo:
file_get_contents('/home/path/' . $_GET['evil']. '/file.txt');
P.S. Non ho bisogno di risposte per le vecchie versioni di PHP.