PHP文件包含漏洞原理分析|美創(chuàng)安全實(shí)驗(yàn)室
2、PHP遠(yuǎn)程文件包含漏洞獲得網(wǎng)站W(wǎng)ebShell
同樣還是采用相同的服務(wù)器代碼,其中PHP配置文件中,allow_url_fopen和allow_url_include兩個(gè)參數(shù)都必須是ON的狀態(tài)。
目標(biāo)服務(wù)器地址:192.168.20.35
攻擊者遠(yuǎn)程服務(wù)器:192.168.210.102
在攻擊者個(gè)人服務(wù)器上,放置了一個(gè)惡意文件(index.txt),如下:
該文件可以向目標(biāo)服務(wù)器上創(chuàng)建一個(gè)hack.php腳本文件,并向其中寫(xiě)入一句話木馬(已被Base64加密),這里要注意的是惡意文件不能是php可解析的擴(kuò)展名,也就是不能以php結(jié)尾。
攻擊者通過(guò)遠(yuǎn)程文件包含漏洞,觸發(fā)該文件(在file參數(shù)處寫(xiě)入http://192.168.210.35/index.txt即可),如下:
然后攻擊者就可以通過(guò)連接工具,遠(yuǎn)程連接木馬并獲得網(wǎng)站W(wǎng)ebShell
防御方案
1、設(shè)置白名單
代碼在進(jìn)行文件包含時(shí),如果文件名可以確定,可以設(shè)置白名單對(duì)傳入的參數(shù)進(jìn)行比較。
2、過(guò)濾危險(xiǎn)字符
由于Include/Require可以對(duì)PHP Wrapper形式的地址進(jìn)行包含執(zhí)行(需要配置php.ini),在Linux環(huán)境中可以通過(guò)”../../”的形式進(jìn)行目錄繞過(guò),所以需要判斷文件名稱(chēng)是否為合法的PHP文件。
3、設(shè)置文件目錄
PHP配置文件中有open_basedir選項(xiàng)可以設(shè)置用戶(hù)需要執(zhí)行的文件目錄,如果設(shè)置目錄的話,PHP僅僅在該目錄內(nèi)搜索文件。
4、關(guān)閉危險(xiǎn)配置
PHP配置中的allow_url_include選項(xiàng)如果打開(kāi),PHP會(huì)通過(guò)Include/Require進(jìn)行遠(yuǎn)程文件包含,由于遠(yuǎn)程文件的不可信任性及不確定性,在開(kāi)發(fā)中禁止打開(kāi)此選項(xiàng),PHP默認(rèn)是關(guān)閉的。
5、提升安全開(kāi)發(fā)意識(shí)
任意文件包含漏洞的主要出現(xiàn)在能夠解析處理腳本文件的函數(shù)上,沒(méi)有對(duì)輸入的變量進(jìn)行過(guò)濾,導(dǎo)致任意文件包含,進(jìn)而導(dǎo)致惡意代碼執(zhí)行。在開(kāi)發(fā)處理這類(lèi)功能函數(shù)上,一定要遵循編程規(guī)范;在代碼核心處,對(duì)變量進(jìn)行過(guò)濾限制,設(shè)置文件路徑或者白名單,避免執(zhí)行任意文件包含。
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
圖片新聞
最新活動(dòng)更多
-
12月19日立即報(bào)名>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
精彩回顧立即查看>> 2024中國(guó)國(guó)際工業(yè)博覽會(huì)維科網(wǎng)·激光VIP企業(yè)展臺(tái)直播
-
精彩回顧立即查看>> 【產(chǎn)品試用】RSE30/60在線紅外熱像儀免費(fèi)試用
-
精彩回顧立即查看>> 2024(第五屆)全球數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)大會(huì)暨展覽會(huì)
-
精彩回顧立即查看>> 【線下會(huì)議】全數(shù)會(huì)2024電子元器件展覽會(huì)
-
精彩回顧立即查看>> 三菱電機(jī)紅外傳感器的特性以及相關(guān)應(yīng)用領(lǐng)域
編輯推薦
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷(xiāo)售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷(xiāo)售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專(zhuān)家 廣東省/江門(mén)市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市