2023-11-11 分類: 網站建設
是黑客經常使用的惡意腳本。其目的是為了獲得服務器的權限來執行操作,例如執行系統命令、竊取用戶數據、刪除網頁、修改主頁等。它的危害是不言而喻的。黑客通常利用 SQL 注入、遠程文件包含 (RFI)、FTp 等常見漏洞,甚至使用跨站點腳本 (XSS) 作為社會工程攻擊的一部分,最終控制網站服務器。
常用的編程語言有asp、jsp和php。本文將以php為例,詳細講解常用功能、工作方法、常用隱藏技巧。
為什么受到黑客青睞
黑客使用的第一步通常是將其上傳到可訪問的服務器,例如利用用戶CMS系統的第三方插件中的漏洞進行簡單的php上傳。當然,類型和功能并不完全相同。一些簡單的僅用于連接外部世界,允許黑客插入更精確的惡意腳本并執行他們需要的指令;其他的可能更復雜,有數據庫或文件瀏覽 一種允許黑客從數千英里外查看受感染系統的代碼和數據的設備。無論設計如何,它都是極其危險的,并且是網絡犯罪分子和高級持續威脅 (ApT) 的常用工具。常見的攻擊特征如下:
持久遠程訪問
腳本通常包含后門。黑客上傳后,可以充分利用后門實現遠程訪問和控制服務器,從而達到長期控制網站服務器的目的。此外,在上傳后,黑客選擇自己修復漏洞,以確保沒有其他人會利用該漏洞。通過這種方式php代碼混淆,黑客可以保持低調,避免與管理員進行任何互動,同時仍然獲得相同的結果。
特權提升
只要服務器沒有配置錯誤,它就會在網絡服務器的用戶權限下運行php代碼混淆網站制作,這是有限的。通過這個,黑客可以利用系統上的本地漏洞來實現提權以獲得root權限,這樣黑客基本上可以在系統上做任何事情,包括安裝軟件、更改權限、添加和刪除用戶、竊取密碼、閱讀電子郵件和還有更多。
高度隱蔽
可以在普通網頁中嵌套運行,不易被檢測和殺死。它也可以通過服務器防火墻。由于與受控服務器或遠程主機交互的數據是通過 80 端口傳輸的,因此不會被防火墻攔截。在沒有記錄流量的情況下,使用 post 數據包發送,不會被防火墻發送。記錄在系統日志中,只有部分數據提交記錄會記錄在web日志中。
常用的pHp函數
適用于幾乎所有的網絡編程語言。 pHp 是焦點,因為它是 Web 上使用最廣泛的編程語言。下面是 pHp 中一些最常用的執行命令的函數。
()
() 函數將命令作為參數并輸出結果。
以下示例在操作系統上運行 dir 命令,并返回 pHp 文件所在目錄的目錄列表。
同樣,在機器上執行 ls 命令會得到類似的結果。
執行()
exec() 函數將命令作為參數,但不輸出結果。如果指定了第二個可選參數,則結果以數組形式返回。否則,如果回顯,則只顯示結果的最后一行。
使用exec()函數執行echo命令,只會輸出最后一行命令結果。
如果指定第二個參數,結果是一個數組。
()
() 函數類似于 exec(),但它的整個輸出是一個字符串。
()
() 執行命令并以原始格式返回輸出。
()
() 函數可能很難理解。簡單來說,我們可以使用(),來創建一個(進程),實現腳本與要運行的程序之間的通信。
反引號
許多 pHp 開發人員沒有意識到這一點,但 pHp 將首先執行命令中反引號 (`) 內的任何內容。請注意,反引號 (`) 與單引號 (') 不同。
基于以上,下面是一個簡單的pHp。
它使用()函數執行'cmd'HTTp請求的GET參數中傳遞的命令。
我們已經確定這些功能(以及其他一些功能)可能非常危險。更危險的是,在安裝 pHp 時,所有這些內置的 pHp 命令都默認啟用,并且大多數系統管理員不會禁用它們。如果您不確定您的系統是否啟用了這些功能,請輸入以下內容將返回已啟用的危險功能列表。
在默認安裝的情況下,默認啟用以下功能。
黑客如何隱藏
修改標題
黑客使用用戶代理字符串而不是 $ 參數來傳遞命令。
然后,黑客可以通過將命令放在 User-HTTp 標頭中來制作特定的 HTTp 請求。
在服務器日志中可以看到這種行為的影響,其中第二個請求中的 HTTp User- 被 cat /etc/ 命令替換。
上述方法可能會很吵,并且很容易提示管理員查看服務器日志。但是通過以下方法,管理員很難發現。
這種方法不會留下正在執行的命令的可見痕跡(至少在訪問日志中)。
隱藏在普通文件中
黑客可以隱藏的最簡單方法之一是將它們上傳到深層子目錄和/或使用隨機名稱。
另外,一種更有效的方法是將代碼嵌入到現有的法律文件中。
或使用 CMS(例如)
注意:黑客通常在函數前使用@操作符寫入錯誤日志,以防萬一發生錯誤。
混亂
黑客使用各種混淆技術來避免被管理員檢測到。他們不斷想出新的和更復雜的方法來隱藏他們的代碼和繞過安全系統。以下是我們見過的一些最常見的技術:
刪除空格和換行符
通過從代碼塊中刪除空白換行符,代碼看起來像一個大字符串,這會降低代碼的可讀性并且更難識別腳本試圖實現的目標。
加密技術
這種技術會加密代碼,降低代碼可讀性,并利用可在運行時重構代碼的各種功能。
使用十六進制進行混淆
十六進制值
字符也可以用來進一步混淆命令,下面的例子很好的說明了混淆技術在.
中的應用
以下是上述字符串的十六進制值。
因此,以下代碼可用于接受十六進制編碼的字符串并將其轉換為 pHp 代碼。
輸出類似于下圖。
通過可控輸入
pHp中常用的可控輸入包括:$_GET、$、$、$、$、$等,它們是pHp中的預定義變量網站建設,可以將黑客定義的值傳遞給瀏覽器。
下面的例子很簡單但很有用。雖然代碼沒有被編碼或加密,因為它沒有使用任何可疑的函數名(例如 eval() 或 ())、冗長的編碼字符串、復雜的代碼,它的可檢測性比之前的代碼還低。最重要的是,管理員查看日志時不會造成任何危險。
如何使用
我們舉一個例子來分析它是如何使用的。是一個類似 pHp 的輕量級,有幾個選項,我們將在本例中使用。
出于演示目的,我們將使用創建后門代理在目標服務器上進行部署。我們只需要指定密碼和文件名。然后使用密碼訪問后門。
.php 包含以下編碼文件。
將 .php 重命名為 ma.php 并將其上傳到受感染的服務器。然后,我們不使用瀏覽器訪問文件,而是使用文件連接。
現在我們有了目標服務器的后門,我們可以執行命令了。
檢查服務器的訪問日志,我們會發現一些奇怪的東西。
發送的請求經過編碼,原始 URL 似乎是。如果我們要分析惡意活動的日志,這很可能會困擾我們,因為它應該是合法的引薦來源網址。當然,這是防止檢測策略的一部分。
我們使用的另一個有趣的功能是反彈 TCp 選項。這意味著受感染的服務器將連接回我們,或者我們請求連接。
在源機器上,我們在端口 8181 上設置了一個監聽器。
使用已建立的后門連接發起退回的 TCp 請求。
反彈連接現已建立 (192.168.5.25 192.168.5.26)@ >.
通過使用反彈 TCp 控制服務器,在訪問或錯誤日志中沒有任何痕跡,因為通信是通過 TCp(第 4 層)而不是 HTTp(第 7 層)進行的。
總結
代碼簡單且易于使用,但由于許多 Web 服務器的設置方式,即使是簡單的腳本也會造成嚴重破壞。這就是為什么有成千上萬的披露。變種太多,入侵檢測和入侵防御系統 (IDS/IpS) 很難檢測到它們,尤其是在使用簽名檢測此類時。有些非常復雜,即使通過行為分析,也幾乎無法檢測到。
話雖如此,它只是一個后利用實施工具,這意味著首先要盡早檢測到它,以防止它被上傳然后被利用。
網頁標題:php代碼混淆提權在服務器沒有配置錯誤的情況下如何處理漏洞php混淆在線解密
本文URL:http://m.newbst.com/news3/293903.html
成都網站建設公司_創新互聯,為您提供網站收錄、小程序開發、建站公司、域名注冊、云服務器、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容