我要投稿

歡迎您隨時向我們投遞您的稿件

什么是遠程代碼執行?

遠程命令執行漏洞,用戶通過瀏覽器提交執行命令,由于服務器端沒有針對執行函數做過濾,導致在沒有指定絕對路徑的情況下就執行命令,可能會允許攻擊者通過改變 $PATH 或程序執行環境的其他方面來執行一個惡意構造的代碼。


遠程命令執行的原理是什么?

由于開發人員編寫源碼,沒有針對代碼中可執行的特殊函數入口做過濾,導致客戶端可以提交惡意構造語句提交,并交由服務器端執行。命令注入攻擊中WEB服務器沒有過濾類似system(),eval(),exec()等函數是該漏洞攻擊成功的最主要原因。


如何避免?

建議假定所有輸入都是可疑的,嘗試對所有輸入提交可能執行命令的構造語句進行嚴格的檢查或者控制外部輸入,系統命令執行函數的參數不允許外部傳遞。

不僅要驗證數據的類型,還要驗證其格式、長度、范圍和內容。

不要僅僅在客戶端做數據的驗證與過濾,關鍵的過濾步驟在服務端進行。

對輸出的數據也要檢查,數據庫里的值有可能會在一個大網站的多處都有輸出,即使在輸入做了編碼等操作,在各處的輸出點時也要進行安全檢查。

在發布應用程序之前測試所有已知的威脅。

主辦單位:上海市信息網絡安全管理協會

地址:上海市閘北區秣陵路100號1917室    郵編:200070

本站所有內容均為上海市信息網絡安全管理協會所有,不經上海市信息網絡安全管理協會授權不得轉載

免费五码复式连码