您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關如何理解PHP-CGI遠程代碼執行漏洞以及CVE-2012-1823漏洞復現,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
這個漏洞簡單來說,就是用戶請求的querystring(querystring字面上的意思就是查詢字符串,一般是對http請求所帶的數據進行解析,這里也是只http請求中所帶的數據)被作為了php-cgi的參數,最終導致了一系列結果。
影響范圍:
漏洞影響版本 php < 5.3.12 or php < 5.4.2
PS:CVE-2012-1823是在php-cgi運行模式下出現的漏洞,其漏洞只出現在以cgi模式運行的php中
1)cgi 通用網關接口(Common Gateway Interface))
CGI即通用網關接口(Common Gateway Interface),它是一段程序, 通俗的講CGI就象是一座橋,把網頁和WEB服務器中的執行程序連接起來,它把HTML接收的指令傳遞給服務器的執行程序,再把服務器執行程序的結果返還給HTML頁。
2) fast-cgi 常駐 (long-live) 型的 CGI 【php-fpm:PHP的FastCGI進程管理器】
fast-cgi 是cgi的升級版本,FastCGI 像是一個常駐 (long-live) 型的 CGI,它可以一直執行著,只要激活后,不會每次都要花費時間去 fork 一次 (這是 CGI 最為人詬病的 fork-and-execute 模式)。
3) cli 命令行運行 (Command Line Interface)
cli是php的命令行運行模式,大家經常會使用它,但是可能并沒有注意到(例如:我們在linux下經常使用 "php -m"查找PHP安裝了那些擴展就是PHP命令行運行模式;有興趣的同學可以輸入php -h去深入研究該運行模式)
4)web模塊模式 (apache等web服務器運行的模塊模式)
模塊模式是以mod_php5模塊的形式集成,此時mod_php5模塊的作用是接收Apache傳遞過來的PHP文件請求,并處理這些請求,然后將處理后的結果返回給Apache。
1、使用vulhub搭建漏洞環境
2、訪問ip+端口訪問漏洞環境
3、訪問http:ip+端口/index.php/?-s,返回源碼說明存在漏洞
過返回結果可以看到我們的命令已經被執行
4、使用抓包工具截包構造playload
Cgi模式下命令行參數有如下一些參數可用
-c 指定php.ini文件的位置
-n 不要加載php.ini文件
-d 指定配置項
-b 啟動fastcgi進程
-s 顯示文件源碼
-T 執行指定次該文件
-h和-? 顯示幫助
5、通過返回結果可以看到我們的命令已經被執行
Poc運行結果,執行了ls命令
上述就是小編為大家分享的如何理解PHP-CGI遠程代碼執行漏洞以及CVE-2012-1823漏洞復現了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。