最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php 遠(yuǎn)程包含文件漏洞分析第1/6頁(yè)

 更新時(shí)間:2009年10月30日 22:30:31   作者:  
首先,我們來(lái)討論包含文件漏洞,首先要問(wèn)的是,什么才是"遠(yuǎn)程文件包含漏洞"?回答是:服務(wù)器通過(guò)php的特性(函數(shù))去包含任意文件時(shí),由于要包含的這個(gè)文件來(lái)源過(guò)濾不嚴(yán),從而可去包含一個(gè)惡意文件,而我們可以構(gòu)造這個(gè)惡意文件來(lái)達(dá)到邪惡的目的。
幾乎所有的cgi程序都有這樣的 bug,只是具體的表現(xiàn)方式不一樣罷了。

一、涉及到的危險(xiǎn)函數(shù)〔include(),require()和include_once(),require_once()〕

include() && require()語(yǔ)句:包括并運(yùn)行指定文件。

這兩種結(jié)構(gòu)除了在如何處理失敗之外完全一樣。include() 產(chǎn)生一個(gè)警告而 require() 則導(dǎo)致一個(gè)致命錯(cuò)誤。換句話說(shuō),如果你想在遇到丟失文件時(shí)停止處理頁(yè)面就用 require()。include() 就不是這樣,腳本會(huì)繼續(xù)運(yùn)行。
如果"allow_url_fopen"在 PHP 中被激活(默認(rèn)配置),也可以用 URL(通過(guò) HTTP 或者其它支持的封裝協(xié)議)而不是本地文件來(lái)指定要被包括的文件。如果目標(biāo)服務(wù)器將目標(biāo)文件作為 PHP 代碼解釋?zhuān)瑒t可以用適用于 HTTP GET 的 URL 請(qǐng)求字符串來(lái)向被包括的文件傳遞變量。
詳細(xì)參考:http://cn.php.net/manual/en/function.include.php

require_once()?。ΓΑnclude_once()
require_once ()和include_once() 語(yǔ)句在腳本執(zhí)行期間包括并運(yùn)行指定文件。此行為和 require() 語(yǔ)句類(lèi)似,唯一區(qū)別是如果該文件中的代碼已經(jīng)被包括了,則不會(huì)再次包括。適用于在腳本執(zhí)行期間同一個(gè)文件有可能被包括超過(guò)一次的情況下,你想確保它只被包括一次以避免函數(shù)重定義,變量重新賦值等問(wèn)題。
詳細(xì)參考:http://cn.php.net/manual/en/function.require-once.php

二、為什么要包含文件

程序員寫(xiě)程序的時(shí)候,不喜歡干同樣的事情,也不喜歡把同樣的代碼(比如一些公用的函數(shù))寫(xiě)幾次,于是就把需要公用的代碼寫(xiě)在一個(gè)單獨(dú)的文件里面,比如 share.php,而后在其它文件進(jìn)行包含調(diào)用。在php里,我們就是使用上面列舉的那幾個(gè)函數(shù)來(lái)達(dá)到這個(gè)目的的,它的工作流程:如果你想在 main.php里包含share.php,我將這樣寫(xiě)include("share.php")就達(dá)到目的,然后就可以使用share.php中的函數(shù)了,像這個(gè)寫(xiě)死需要包含的文件名稱(chēng)的自然沒(méi)有什么問(wèn)題,也不會(huì)出現(xiàn)漏洞,那么問(wèn)題到底是出在哪里呢?
有的時(shí)候可能不能確定需要包含哪個(gè)文件,比如先來(lái)看下面這個(gè)文件index.php的代碼:
[code]

if ($_GET

相關(guān)文章

  • PHP中獲取變量的變量名的一段代碼的bug分析

    PHP中獲取變量的變量名的一段代碼的bug分析

    百度一下關(guān)于php獲取變量名的辦法都是下面這個(gè)函數(shù)。但是用了發(fā)現(xiàn)有點(diǎn)bug
    2011-07-07
  • PHP連續(xù)簽到功能實(shí)現(xiàn)方法詳解

    PHP連續(xù)簽到功能實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了PHP連續(xù)簽到功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了PHP結(jié)合mysql數(shù)據(jù)庫(kù)實(shí)現(xiàn)連續(xù)簽到功能相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • php設(shè)計(jì)模式之委托模式

    php設(shè)計(jì)模式之委托模式

    這篇文章主要為大家詳細(xì)介紹了php設(shè)計(jì)模式之委托模式,以一個(gè)實(shí)例為大家介紹了php委托模式,感興趣的朋友可以參考一下
    2016-02-02
  • php rmdir使用遞歸函數(shù)刪除非空目錄實(shí)例詳解

    php rmdir使用遞歸函數(shù)刪除非空目錄實(shí)例詳解

    我們大家都知道,php rmdir()函數(shù)用于刪除空目錄,但如果要?jiǎng)h除非空目錄,我們必須將非空目錄中的文件或子目錄刪除,本文章向大家介紹php如何使用遞歸函數(shù)刪除非空目錄,需要的朋友可以參考一下
    2016-10-10
  • PHP使用file_get_contents發(fā)送http請(qǐng)求功能簡(jiǎn)單示例

    PHP使用file_get_contents發(fā)送http請(qǐng)求功能簡(jiǎn)單示例

    這篇文章主要介紹了PHP使用file_get_contents發(fā)送http請(qǐng)求功能,結(jié)合實(shí)例形式分析了file_get_contents結(jié)合stream_context_create實(shí)現(xiàn)的發(fā)送post請(qǐng)求數(shù)據(jù)相關(guān)原理與操作技巧,需要的朋友可以參考下
    2018-04-04
  • phpstudy無(wú)法啟動(dòng)MySQL服務(wù)的解決方法

    phpstudy無(wú)法啟動(dòng)MySQL服務(wù)的解決方法

    個(gè)人比較懶,所以想到用phpstudy這個(gè)軟件進(jìn)行控制,但這個(gè)時(shí)候問(wèn)題出現(xiàn)了:在下載phpstudy后想要啟動(dòng)MySQL服務(wù),但是總是無(wú)法啟動(dòng),所以本文給大家介紹了如何解決phpstudy無(wú)法啟動(dòng)MySQL服務(wù)的問(wèn)題,需要的朋友可以參考下
    2024-06-06
  • PHP中如何定義和使用常量

    PHP中如何定義和使用常量

    PHP中的常量分為自定義常量和系統(tǒng)常量,自定義常量需要使用PHP函數(shù)來(lái)進(jìn)行定義,系統(tǒng)常量可以直接拿來(lái)使用,下面來(lái)看一下這兩種常量在使用上有什么不同
    2013-02-02
  • PHP 出現(xiàn)亂碼和Sessions驗(yàn)證問(wèn)題的解決方法!

    PHP 出現(xiàn)亂碼和Sessions驗(yàn)證問(wèn)題的解決方法!

    PHP程序語(yǔ)言編碼一定要統(tǒng)一為UTF-8或GB2312如果選擇其他的語(yǔ)言在里面中文會(huì)出現(xiàn)亂碼的。
    2008-12-12
  • 10個(gè)實(shí)用的PHP正則表達(dá)式匯總

    10個(gè)實(shí)用的PHP正則表達(dá)式匯總

    這篇文章主要介紹了10個(gè)實(shí)用的PHP正則表達(dá)式匯總,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • 在CentOS上搭建LAMP+vsftpd環(huán)境的簡(jiǎn)單指南

    在CentOS上搭建LAMP+vsftpd環(huán)境的簡(jiǎn)單指南

    這篇文章主要介紹了在CentOS上搭建LAMP+vsftpd環(huán)境的簡(jiǎn)單指南,這也是當(dāng)下服務(wù)器的最流行配置方案之一,需要的朋友可以參考下
    2015-08-08

最新評(píng)論

淅川县| 疏附县| 资阳市| 左贡县| 泉州市| 陆河县| 富川| 剑川县| 三原县| 冷水江市| 灯塔市| 修文县| 娄底市| 高州市| 海丰县| 齐齐哈尔市| 津南区| 广东省| 靖边县| 宁国市| 西乡县| 封开县| 读书| 盘山县| 保亭| 甘孜县| 监利县| 新郑市| 龙井市| 南丰县| 奉贤区| 永新县| 永昌县| 兴国县| 深泽县| 隆回县| 江永县| 镇安县| 泰州市| 龙陵县| 陆良县|