第八章——第二節--檔案包含漏洞篇之PHP相關引數介紹
1、PHP配置檔案(PHP.ini)介紹
php.ini是php的配置檔案,裡面包含了眾多配置,在php啟動時被讀取。自php5.3.0起,PHP支援每個目錄的.htaccess風格的ini檔案。此類檔案僅被CD/FASTCGL SAPL處理。如果使用apache,則用.htaccess檔案同樣效果。
2、PHP.ini的配置語法
a)指令=值
b) 指令名大小寫敏感
3、PHP.ini常見重要配置
a) 短標籤: short_open_tag = on
這項配置設定為on 的話。允許php使用短標籤,如<? 短標籤形式<?php 完整標籤形式.如果能知道對方開了短標籤的一些開關的話,寫一句話或者繞過waf便可以用短標籤的形式來嘗試操作。
b) php安全模式: safe_mode = off
php的安全模式配置,能夠控制一些php中的函式,比如system(),同時把很多檔案操作函式進行許可權控制,也不允許對某些檔案關鍵檔案的訪問,比如/etc/passwd ,但是預設的php.ini 是沒有開啟安全模式的,這個特性已經從PHP5.4移除了,只可能存在5.3之前的PHP版本。
c) 安全模式下的執行程式主目錄:safe_mode_exec_dir = /var/www/html
如果PHP使用安全模式,且配置了這項選項,那麼只能在這個目錄下執行PHP。
d) 禁用類/函式:disable_classes= disable_functions=
這兩項配置禁用某些類,禁用某些函式。接收逗號分隔的函式名列表作為引數。只能設定在php.ini中
e) 上傳配置設定:
file_uploads = on 設定上傳是否開啟
upload_max_filesize = 8M 設定最大允許上傳多少
ipload_tmp_dir = /tmp上傳臨時檔案儲存的目錄,且這個目錄可寫。
f) php魔術引號:magic_quotes_gps = on
當 magic_quotes為on時,所以的單引號,雙引號,反斜線和null都會被自動轉義為反斜線。( 注:本特性已自PHP5.3.0起廢棄並將自PHP5.4.0起移除 )
g)是否允許開啟遠端檔案: allow_url_fopen = on
本選項激活了URL形式的fopen封裝協議使得可以訪問URL物件,例如檔案,預設的封裝協議提供FTP和http協議來訪問遠端檔案,一些擴充套件庫例如zlib可能會註冊更多的封裝協議。
h)是否允許包含玩遠端檔案:allow_url_include = off
本專案啟用允許include , include_once, require, require_once等函式使用使用URL形式的fopen封裝協議,簡單來說打開了的話,就能夠遠端包含檔案。
小結:
1、PHP配置檔案(PHP.ini)介紹
2、PHP.ini的配置語法
3、PHP.ini常見重要配置