2016-09-04 36 views
0

我在具有用戶權限的Linux紅帽服務器上有一個PHP shell。我試圖在PHP中使用ln -s或甚至symlink()符號鏈接根目錄,但仍然不可能。繞過禁用DL函數PHP Linux

我已經看到了PHP DL功能是喜歡這幅畫禁用:

image

我在當前目錄女巫使用的php.ini包含此字符串:

safe_mode=OFF 
disable_functions=NONE 

並沒有停用,那該怎麼辦?

回答

1

dl功能,並且動態加載PHP擴展的能力,已經從所有的PHP SAPIs,與CLI SAPI的例外去除,因爲PHP 5.3(和7.0在PHP-FPM)。

警告從最SAPIs下去除PHP 5.3.0此功能,在PHP 7.0.0,從PHP-FPM刪除。

Source php.net/dl

所以,除非你正在運行PHP 5.2,有一個在Web SAPI該功能沒有用。無論如何,您不應該試圖在運行時在Web環境中動態加載您的擴展。它通常沒有任何意義,並可能導致很多邊緣情況。這些邊緣案例中的大多數都是在CLI環境中進行的,但對於Web環境很重要。

至於重寫disable_functions你想確保你正在編輯正確的php.ini文件並從正確的SAPI中檢查phpinfo()。請記住,從CLI和Apache/web運行的PHP是兩個不同的二進制文件,可以加載不同的配置文件。所以你應該看看phpinfo()從正確的一個找到「加載配置」文件來編輯。您總是需要重新啓動PHP才能使這些加載的配置生效。請記住,dl()可能會從任何當前受支持的PHP版本中刪除。

+0

是的,先生謝謝你的這些信息 – walidz