PHP文件包含命令(include,require)及漏洞利用

include (或 require)語句會獲取指定文件(可以是任意文件類型例如:jpg,txt,html,asp等),如果是本地文件包含的話,服務器找到文件後返回所有內容;如果是遠程文件包含的話,就是把服務器獲取到的響應內容返回。

並將內容複製到使用include 語句的文件中。然後再使用PHP腳本引擎去解釋運行這段複製內容,在<?php ?>的數據當成php代碼行,在<?php?>之外的數據原樣返回。




漏洞利用:


1.本地文件包含:可以上傳一個Webshell(修改後綴名爲jpg等繞過過濾),再包含此文件就成功執行了


2.遠程文件包含:就是可以使用include和require文件包含命令包含http:// or ftp://打頭的Internet上的文件

不過想要成功的話,必須修改php.ini文件中的內容,然後重啓服務器。(appserv的話,php.ini在C:\Windows下)。如果沒有此內容則添加

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
allow_url_fopen = On

; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
allow_url_include = On


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章