1. 程式人生 > 實用技巧 >RCE

RCE

1.RCE(remote command/code execute)概述
RCE漏洞,可以讓攻擊者直接向後臺伺服器遠端注入作業系統命令或者程式碼,從而控制後臺系統。
遠端系統命令執行
一般出現這種漏洞,是因為應用系統從設計上需要給使用者提供指定的遠端命令操作的介面
比如我們常見的路由器、防火牆、入侵檢測等裝置的web管理介面上
一般會給使用者提供一個ping操作的web介面,使用者從web介面輸入目標IP,提交後,後臺會對該IP地址進行一次ping測試,並返回測試結果。 而,如果,設計者在完成該功能時,沒有做嚴格的安全控制,則可能會導致攻擊者通過該介面提交“意想不到”的命令,從而讓後臺進行執行,從而控制整個後臺伺服器

現在很多的甲方企業都開始實施自動化運維,大量的系統操作會通過"自動化運維平臺"進行操作。 在這種平臺上往往會出現遠端系統命令執行的漏洞,不信的話現在就可以找你們運維部的系統測試一下,會有意想不到的"收穫"-_- 

**遠端程式碼執行**
同樣的道理,因為需求設計,後臺有時候也會把使用者的輸入作為程式碼的一部分進行執行,也就造成了遠端程式碼執行漏洞。 不管是使用了程式碼執行的函式,還是使用了不安全的反序列化等等。 
因此,如果需要給前端使用者提供操作類的API介面,一定需要對介面輸入的內容進行嚴格的判斷,比如實施嚴格的白名單策略會是一個比較好的方法。 
你可以通過“RCE”對應的測試欄目,來進一步的瞭解該漏洞。 

二.exec "ping"操作
1.在pikachu靶場中輸入127.0.0.1測試,得出ping返回結果


再輸入127.0.0.1 & ipconfig,"&"的作用是先執行127.0.0.1,緊接著執行ipconfig命令。

執行完命令後,可以看到獲取了使用者的IP地址。這就是因為開發者在開發過程中,沒有做嚴格的安全措施,攻擊者可以要一些拼接的符號來執行其他的命令,來控制你的系統。

三.exec "eval"
首先隨便輸入字元,會得到下面提示
當我們輸入phpinfo(); 頁面就會顯示出PHP的版本資訊

檢視後臺原始碼,可以看到它沒有把使用者輸入的內容做任何的安全處理,還用eval這種比較危險的函式來執行,它允許執行任意 PHP 程式碼。