在互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)競(jìng)爭(zhēng)也是十分激烈,難免會(huì)遇到被對(duì)手攻擊或者被黑,當(dāng)我們出現(xiàn)網(wǎng)站被黑或者受到攻擊時(shí)我們?cè)撊绻麘?yīng)對(duì),下面我們一起看看高手網(wǎng)站被黑怎么修復(fù)漏洞。
近日wordpress被爆出高危的網(wǎng)站漏洞,該漏洞可以偽造代碼進(jìn)行遠(yuǎn)程代碼執(zhí)行,獲取管理員的session以及獲取cookies值,漏洞的產(chǎn)生是在于wordpress默認(rèn)開啟的文章評(píng)論功能,該功能在對(duì)評(píng)論的參數(shù)并沒(méi)有進(jìn)行詳細(xì)的安全過(guò)濾與攔截,導(dǎo)致可以繞過(guò)安全檢測(cè),直接提交html標(biāo)簽,導(dǎo)致可以寫入XSS代碼,對(duì)其CSRF跨站偽造攻擊,很多在谷歌做的推廣外貿(mào)站點(diǎn)導(dǎo)致被跳轉(zhuǎn)到其他站點(diǎn)。
該網(wǎng)站漏洞的影響范圍較廣,幾乎是通殺所有的wordpress博客網(wǎng)站,低于5.1.1版本的系統(tǒng),據(jù)SINE安全統(tǒng)計(jì)國(guó)內(nèi),以及國(guó)外,受漏洞攻擊影響的網(wǎng)站達(dá)到數(shù)百萬(wàn)個(gè)。
我們來(lái)詳細(xì)的分析該網(wǎng)站漏洞,wp官方其實(shí)有考慮到評(píng)論功能的安全問(wèn)題,特意的使用wpnonce安全機(jī)制,對(duì)于一些html標(biāo)簽,A類的html標(biāo)簽都會(huì)進(jìn)行攔截,通過(guò)代碼可以看出來(lái),整體上的安全過(guò)濾攔截,還是不錯(cuò)的,一般的JS地址都插入不到評(píng)論當(dāng)中去。我們來(lái)看下過(guò)濾代碼:
上面的代碼可以看出當(dāng)用戶進(jìn)行評(píng)論的時(shí)候,會(huì)POST發(fā)送參數(shù),那么wp_filter-kses負(fù)責(zé)過(guò)濾非法的參數(shù),一般的html標(biāo)簽都會(huì)被攔截掉,只會(huì)允許白名單里的A標(biāo)簽進(jìn)行插入評(píng)論,問(wèn)題的根源就在于wp的白名單機(jī)制可以到導(dǎo)致寫入惡意代碼到評(píng)論當(dāng)中去,我們對(duì)整個(gè)評(píng)論的過(guò)程了解清楚后就知道,我們構(gòu)造函數(shù)通過(guò)拼接雙引號(hào)的方式去進(jìn)行構(gòu)造,然后進(jìn)行評(píng)論,系統(tǒng)自動(dòng)將一些特殊代碼進(jìn)行去除,導(dǎo)致雙引號(hào)可以正常的插入到代碼中,惡意代碼構(gòu)造成功,漏洞的前提是需要誘惑管理員去看這條評(píng)論,然后將鼠標(biāo)移動(dòng)到這條評(píng)論的時(shí)候,才會(huì)導(dǎo)致該wordpress漏洞的發(fā)生,網(wǎng)站被黑被篡改和劫持,處理起來(lái)很麻煩,你需要去找出來(lái)它的病毒文件在哪里然后刪除,有一些是被隱藏起來(lái)的不好找,要不就是加到代碼里面了,在代碼里面去找一個(gè)木馬也是一件不簡(jiǎn)單的事情。
我們對(duì)漏洞分析完后,才發(fā)現(xiàn)該漏洞的利用需要一定的條件才可以,如果是評(píng)論自己的文章是沒(méi)有任何的安全攔截,可以隨便寫,所以在評(píng)論的時(shí)候也是要求是管理員自己寫的文章才可以利用該漏洞,總體來(lái)說(shuō)wordpress的安全機(jī)制還是很不錯(cuò)的,但一個(gè)網(wǎng)站管理員的權(quán)限,也是要進(jìn)行詳細(xì)的權(quán)限過(guò)濾,不能什么都可以操作,權(quán)限安全做到最大化,才能避免漏洞的發(fā)生,關(guān)于wordpress漏洞修復(fù),可以登錄WP系統(tǒng)的后臺(tái)進(jìn)行版本的更新,在線自動(dòng)修復(fù)漏洞。