網站webshell木馬文件如何刪除

Webshell實際上是一個能夠執行惡意功能的PHP代碼文件。Webshell要執行惡意功能,其代碼結構主要由兩部分組成:數據傳遞部分和數據執行部分。在webshell中,數據傳遞部分是指webshell中用來接收外部輸入數據的部分,webshell可以根據外部輸入數據動態地交互執行惡意功能。在webshell中,數據執行部分指的是webshell中的system函數,用於執行代碼執行和執行命令等命令。

在基本的webshell中,數據傳遞主要通過諸如$_GET、$_POST、$_COOKIES等變量傳遞或直接寫入代碼,數據執行主要是通過eval或assert,或者直接調用函數來執行。爲了避開檢測機制,各種webshell在基礎webshell上採用相應的變形方法,根據不同的變形量,將變形方法分爲數據傳遞部分和數據執行部分兩種。傳輸部的變形主要有:將數據放到服務器的外部文件中,webshell讀取文件獲取執行數據。

(1)通過諸如curl/file_get_contents等功能在遠程服務器上獲取執行數據。

(2)將數據放入數據庫,並通過讀取數據庫獲取執行數據。對於數據執行部分,變形方法主要是使用/e修飾符preg_replace函數執行代碼。使用一個支持回調機制的函數來執行代碼回調。比如:

array_map,array_filter,array_reduce等。

(3)函數與變量函數一起執行。

(4)使用匿名函數實現功能。

(5)利用反射函數ReflectionFunction執行功能。

PHPwebshell實時動態檢測是一種基於PHP擴展的webshell檢測方法,它通過監測PHP代碼的編譯和執行,以及外部輸入變量標記跟蹤,黑白名單機制,主要包括五個模塊:變量標記跟蹤,禁用函數hook檢測,危險函數hook檢測,編譯函數超載檢測,數據庫黑白表檢測,編譯函數過載檢測,數據庫黑白名單檢測,編譯函數過載檢測,如果對自己網站程序代碼裏的後門查殺不懂得話可以向網站安全公司尋求幫助。

變量標誌跟蹤。

PHP擴展提供了通過PG(http_globals)變量通過GET、POST、COOKIE傳遞的參數內容。variable標籤表示字符串變量保存在PG(http_globals)中。可變跟蹤是指簡單的字符串處理函數,比如strval,explode,當被標記的變量是函數參數時,它還用變量來標記函數結果。

PHP中字符串變量的值存儲在zvalue,其中包含字符串指針和字符串長度的字符串長度,而PHP內核是根據保字符串長度讀取字符串內容。對字符串變量進行標記的方法是通過擴展字符串變量的佔用內存,在字符串的值後加上標記特徵。由於沒有修改字符串長度,變量標記將無法像這樣修改字符串的值。當檢測到長度之後的字符串指針內容是否是標記特徵就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章