中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP文件包含哪些漏洞

發布時間:2022-05-10 15:55:20 來源:億速云 閱讀:192 作者:iii 欄目:編程語言

這篇文章主要介紹了PHP文件包含哪些漏洞的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇PHP文件包含哪些漏洞文章都會有所收獲,下面我們一起來看看吧。

PHP文件包含哪些漏洞

漏洞描述

文件包含漏洞的產生原因是在通過PHP的函數引入文件時,由于傳入的文件名沒有經過合理的校驗,從而操作了預想之外的文件,就可能導致意外的文件泄露甚至惡意的代碼注入。
PHP中引發文件包含漏洞的通常是以下四個函數:
1、include()當使用該函數包含文件時,只有代碼執行到include()函數時才將文件包含進來,發生錯誤時只給出一個警告,繼續向下執行。
2、include_once()功能和include()相同,區別在于當重復調用同一文件時,程序只調用一次。
3、require()只要程序一執行就會立即調用文件,發生錯誤的時候會輸出錯誤信息,并且終止腳本的運行
4、require_once()它的功能與require()相同,區別在于當重復調用同一文件時,程序只調用一次。

漏洞危害

攻擊者可利用該漏洞進行任意文件包含讀取,獲取服務器敏感信息。

漏洞影響版本

此漏洞的存在與版本無關

漏洞分析

在給PHP發送POST數據包時,如果數據包里包含文件區塊,無論你訪問的代碼中有沒有處理文件上傳的邏輯,PHP都會將這個文件保存成一個臨時文件(通常是/tmp/php[6個隨機字符]),文件名可以在$ _FILES變量中找到。這個臨時文件,在請求結束后就會被刪除。
同時,因為phpinfo頁面會將當前請求上下文中所有變量都打印出來,所以我們如果向phpinfo頁面發送包含文件區塊的數據包,則即可在返回包里找到$_FILES變量的內容,自然也包含臨時文件名。
在文件包含漏洞找不到可利用的文件時,即可利用這個方法,找到臨時文件名,然后包含之。
但文件包含漏洞和phpinfo頁面通常是兩個頁面,理論上我們需要先發送數據包給phpinfo頁面,然后從返回頁面中匹配出臨時文件名,再將這個文件名發送給文件包含漏洞頁面,進行getshell。在第一個請求結束時,臨時文件就被刪除了,第二個請求自然也就無法進行包含。
這個時候就需要用到條件競爭,具體流程如下:
1)發送包含了webshell的上傳數據包給phpinfo,這個數據包的header,get等位置一定要塞滿垃圾數據。
2)phpinfo這時會將所有數據都打印出來,其中的垃圾數據會將phpinfo撐得非常大。
3)PHP默認緩沖區大小是4096,即PHP每次返回4096個字節給socket連接。
4)所以,我們直接操作原生socket,每次讀取4096個字節,只要讀取到的字符里包含臨時文件名,就立即發送第二個數據包。
5)此時,第一個數據包的socket連接其實還沒有結束,但是PHP還在繼續每次輸出4096個字節,所以臨時文件還未被刪除。
6)我們可以利用這個時間差,成功包含臨時文件,最后getshell。

環境搭建

  1. 啟動docker:
    service start docker

  2. 在docker-compose.yml文件所在的路徑執行:
    docker-compose build
    docker-compose up -d
    PHP文件包含哪些漏洞

漏洞復現

  1. 訪問http://your-ip:8080/phpinfo.php,可以看到頁面出現phpinfo頁面
    PHP文件包含哪些漏洞2. 再訪問http://your-ip:8080/lfi.php?file=/etc/passwd,可以看到該頁面是存在文件包含漏洞的。
    PHP文件包含哪些漏洞POC驗證:
    使用方法:python3 PHP文件包含漏洞_poc.py --target-url http://192.168.60.244:8080
    PHP文件包含哪些漏洞

修復建議

設置白名單。

關于“PHP文件包含哪些漏洞”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“PHP文件包含哪些漏洞”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

肇州县| 郴州市| 图片| 鲁山县| 泽普县| 武邑县| 特克斯县| 维西| 南召县| 嘉善县| 红河县| 阜宁县| 孟连| 高安市| 扎囊县| 长丰县| 昭苏县| 盘锦市| 顺昌县| 察隅县| 玛纳斯县| 凤城市| 茌平县| 随州市| 松潘县| 禄劝| 泾源县| 固原市| 武汉市| 潜江市| 阿鲁科尔沁旗| 达孜县| 米易县| 新泰市| 永吉县| 乐亭县| 徐水县| 子长县| 永春县| 天水市| 华亭县|