“世界上沒有絕對(duì)安全的系統(tǒng)”唐责,不論你對(duì)自己敲出的代碼或者網(wǎng)站的安全性有多么拍胸脯的把握鳞溉,你都不得不認(rèn)同這至理名言。任何程序都有可能出現(xiàn)漏洞鼠哥,任何網(wǎng)站都有被入侵的可能熟菲。近一段時(shí)間以來,各大漏洞一如既往地層出不窮朴恳。例如2018新年的第二天Intel就爆出了巨大的硬件缺陷抄罕,這迫使全球成千上萬的主機(jī)商不得不連夜以損耗性能為代價(jià)做出產(chǎn)品的升級(jí)調(diào)整,數(shù)百億的終端至今也仍處于危險(xiǎn)之中于颖。幾乎每一個(gè)0day漏洞的報(bào)出呆贿,這樣的場(chǎng)景都不得不重演。另一方面,我們?cè)谝箝_發(fā)者不斷提高產(chǎn)品安全系數(shù)的同時(shí)做入,不也應(yīng)擦亮雙眼洞察來往如飛的信息冒晰,并積極為突發(fā)情況做好準(zhǔn)備嗎?
如今竟块,建站已經(jīng)成為所謂“極客”的基本技能之一壶运,各位可能也或多或少的接觸到建站相關(guān)的技術(shù)。畢竟是自己心愛的小站浪秘,提前做好安全方面的措施自然必不可少蒋情。但正如上文表述,漏洞總是會(huì)出現(xiàn)的耸携。對(duì)于自己開發(fā)的程序棵癣,粗心與尚不精湛的技術(shù)極有可能埋下漏洞的禍根;對(duì)于名聲赫赫的各大CMS(如wordpress夺衍、typecho)來說浙巫,亦會(huì)時(shí)不時(shí)地出現(xiàn)安全問題。譬如前一段時(shí)間爆料給你的Typecho之install.php反序列化漏洞刷后。如果你的網(wǎng)站真的倒霉地遭遇了黑客的屠刀,并被留下后門渊抄,你應(yīng)如何以最小的成本清除webshell尝胆,保全珍貴的網(wǎng)站數(shù)據(jù)呢?
這篇文章利用7個(gè)各具特色的护桦、PHP與ASP的webshell含衔,測(cè)試4款掃描工具對(duì)webshell的查殺效果。先來概覽一下這七個(gè)后門吧:
pic.gif
ASP與PHP兩用一句話
one.php
普通的PHP eval型一句話
pure.asp
普通的ASP webshell(大馬)二庵,特征較明顯
powerful.asp
加密過的ASP大馬贪染,不容易辨別
coded.php
加密過的PHP大馬,同樣不容易辨別
recall-func.php
離別歌大牛利用PHP回調(diào)函數(shù)的特性開發(fā)的新一代免殺一句話后門
filebox.php
常用的PHP在線文件管理工具催享,其實(shí)不是正統(tǒng)的后門杭隙,放在其中用以對(duì)比。
(想下載的朋友可以在此處網(wǎng)盤下載)
我們將這七個(gè)文件放在一個(gè)wordpress程序的根目錄下因妙,并移除wp-content和wp-includes兩個(gè)文件夾(不然文件太大了= =)痰憎,模擬真實(shí)的生產(chǎn)環(huán)境:
OK,讓我們開始測(cè)試吧~
Python腳本:findWebshell
github地址:https://github.com/he1m4n6a/findWebshell
這個(gè)項(xiàng)目是一款基于python開發(fā)的webshell檢查工具攀涵,可以根據(jù)特征碼匹配檢查任意類型的webshell后門铣耘。原理和架構(gòu)都比較簡(jiǎn)單。
運(yùn)行細(xì)節(jié)我就不貼了以故,我們直接來看掃描結(jié)果:
結(jié)果是7個(gè)后門中僅僅掃描出兩個(gè)蜗细,而且誤報(bào)了大量wordpress的文件∨辏可見這套程序的特征碼庫及其匹配機(jī)制還是有很大的提升空間的炉媒。
WEBSHELL.PUB查殺
webshell.pub提供在線掃描與客戶端(支持windows和linux)兩種形式的查殺踪区。我將整個(gè)模擬網(wǎng)站打包上傳進(jìn)行掃描:
從圖片呈現(xiàn)出的查殺結(jié)果可以看到,在同樣誤報(bào)了一定數(shù)量的wordpress自身文件后橱野,程序掃描出來7個(gè)webshell中的5個(gè)朽缴。其中recall-func.php(PHP函數(shù)回調(diào)一句話)和coded.php(PHP加密一句話)未被檢測(cè)出來。測(cè)試發(fā)現(xiàn)整個(gè)查殺過程非乘快密强,幾乎是在上傳的同時(shí)就返回了查殺結(jié)果,有可能也是用了特征碼匹配的手法蜗元。其準(zhǔn)確度還是比較可觀的或渤。
百度WEBDIR+ webshell掃描服務(wù)
WEBDIR+是百度安全團(tuán)隊(duì)開發(fā)的一套在線webshell掃描服務(wù),目前免費(fèi)開發(fā)使用奕扣,可匿名調(diào)用API上傳壓縮包掃描薪鹦。我上傳與上面同樣的壓縮包,在將近一分鐘的等待之后得到了掃描結(jié)果:
此套服務(wù)對(duì)wordpress原生文件的誤報(bào)降低到3個(gè)惯豆,并掃描出了7個(gè)漏洞中的5個(gè)池磁。未被檢測(cè)出來的webshell是powerful.asp(ASP混淆加密大馬)和pure.asp(普通ASP大馬)。測(cè)試表示W(wǎng)EBDIR+執(zhí)行需要一定的等待時(shí)間楷兽,誤報(bào)率與webshell.pub的服務(wù)相比大大降低地熄,但還是有兩個(gè)ASP后門逃過了天眼,可見產(chǎn)品對(duì)于ASP語言的檢測(cè)仍然有一定的提升空間芯杀。
D盾
上面三個(gè)工具都可以跨平臺(tái)使用端考,而D盾只能在windows平臺(tái)上運(yùn)行,這就為linux建站的朋友帶來一點(diǎn)不便揭厚。D盾的作者啊D原來也是滲透的老玩家却特,現(xiàn)在金盆洗手做起安全產(chǎn)品來了,而且還供大家免費(fèi)使用筛圆。我們且看看D盾對(duì)于如上網(wǎng)站文件的檢測(cè)結(jié)果:
結(jié)果出來裂明,檢測(cè)整個(gè)網(wǎng)站目錄用時(shí)只有7秒之短。在追出了兩個(gè)wordpress原生文件之外太援,7個(gè)webshell已經(jīng)被無一幸免地鑒別出來了漾岳,并且做了詳細(xì)到不能再詳細(xì)的標(biāo)注。離別歌大牛的PHP回調(diào)函數(shù)馬在其文章中測(cè)試時(shí)是可以過D盾的粉寞,然而現(xiàn)在貌似已經(jīng)入庫了尼荆。在D盾的官網(wǎng)你可以看到其更新速度比較頻繁,可以說這樣比較杰出的掃描結(jié)果是和其開發(fā)者的充足經(jīng)驗(yàn)和不斷完善的特征庫有很大關(guān)系的唧垦。但其缺點(diǎn)就是只能在windows環(huán)境下使用捅儒。
OK我們來總結(jié)一下,四款掃描工具中要數(shù)D盾的性能比較出眾。所以我建議Linux建站的朋友可以在網(wǎng)站被入侵后(或者定期)把網(wǎng)站文件打包下來放在D盾中進(jìn)行掃描巧还,可以較好的揪出隱匿的webshell鞭莽。
隨著人工智能近年來的飛速發(fā)展,我相信這新項(xiàng)技術(shù)必然在不久的將來被應(yīng)用于諸如后門查殺這樣的領(lǐng)域上麸祷,識(shí)別精度必然會(huì)發(fā)生質(zhì)的提高澎怒,以更好的保證我們網(wǎng)站的安全。讓我們懷著期待而感激科技的進(jìn)步吧阶牍!~
文章首發(fā)于淀粉月刊