RCE:遠端代碼、指令執行漏洞
給攻擊者向背景伺服器遠端注入作業系統指令或者代碼,進而控制背景系統。
遠端系統指令執行
一般出現這種漏洞,是因為應用系統從設計上需要給使用者提供指定的遠端指令操作的接口,比如我們常見的路由器、防火牆、入侵檢測等裝置的web管理界面上
一般會給使用者提供一個ping操作的web界面,使用者從web界面輸入目标IP,送出後,背景會對該IP位址進行一次ping測試,并傳回測試結果。 如果設計者在完成該功能時,沒有做嚴格的安全控制,則可能會導緻攻擊者通過該接口送出“意想不到”的指令,進而讓背景進行執行,進而控制整個背景伺服器
遠端代碼執行同樣的道理,因為需求設計,背景有時候也會把使用者的輸入作為代碼的一部分進行執行,也就造成了遠端代碼執行漏洞。 不管是使用了代碼執行的函數,還是使用了不安全的反序列化等等。是以,如果需要給前端使用者提供操作類的API接口,一定需要對接口輸入的内容進行嚴格的判斷,比如實施嚴格的白名單政策會是一個比較好的方法。你可以通過“RCE”對應的測試欄目,來進一步的了解該漏洞。
exec"ping":
遠端指令執行,直接輸入: 127.0.0.1 & ipconfig 。。。。發現出現了亂碼
可以執行以下步驟
1. 同時按"win + R" ,并輸入 regedit 進入系統資料庫
2. 找到 HKEY_CURRENT_USERConsole%SystemRoot%_system32_cmd.exe,如果該項下已存在 CodePage 項,則把值改為十進制 "65001",點選确定即可;如果不存在,在該項下建立一個 DWORD(32位值),命名為 "CodePage",值設為 "65001"。然後關閉系統資料庫管理器。
然後再重新輸入指令檢視結果:
exec"eval":
背景會執行響應的 php 代碼,我們可以輸入下面的代碼:phpinfo();
得到目前網站的系統版本,PHP版本以及儲存路徑等資訊。