一、什么是Webshell?
顧名思義,“web”的含義是顯然需要服務(wù)器開放web服務(wù),“shell”的含義是取得對(duì)服務(wù)器某種程度上操作權(quán)限。webshell常常被稱為入侵者通過網(wǎng)站端口對(duì)網(wǎng)站服務(wù)器的某種程度上操作的權(quán)限。由于webshell其大多是以動(dòng)態(tài)腳本的形式出現(xiàn),也有人稱之為網(wǎng)站的后門工具。
webshell就是以asp、php、jsp或者cgi等網(wǎng)頁文件形式存在的一種代碼執(zhí)行環(huán)境,也可以將其稱做為一種網(wǎng)頁后門。黑客在入侵了一個(gè)網(wǎng)站后,通常會(huì)將asp或php后門文件與網(wǎng)站目錄下正常的網(wǎng)頁文件混在一起,然后就可以使用瀏覽器來訪問asp或者php后門,得到一個(gè)命令執(zhí)行環(huán)境,以達(dá)到控制網(wǎng)站服務(wù)器的目的。
shell是一個(gè)人機(jī)交互頁面,能操控服務(wù)器并獲取權(quán)限。Shell文件有個(gè)變態(tài)的地方,就是可從服務(wù)器那邊接收數(shù)據(jù)并執(zhí)行、返回結(jié)果,也就是說只要把 shell 文件上傳到目標(biāo)服務(wù)器,就能操控服務(wù)器了。
二、webshell的分類
webshell根據(jù)腳本可以分為PHP腳本木馬,ASP腳本木馬,也有基于.NET的腳本木馬和JSP腳本木馬。根據(jù)時(shí)代和技術(shù)的變遷,國外也有用python編寫的腳本木馬,不過國內(nèi)常用的無外乎三種:大馬,小馬,一句話木馬,具體使用場(chǎng)景和特地如下圖:

三、Webshell的作用
一方面,webshell被站長常常用于網(wǎng)站管理、服務(wù)器管理等等,根據(jù)FSO權(quán)限的不同,作用有在線編輯網(wǎng)頁腳本、上傳下載文件、查看數(shù)據(jù)庫、執(zhí)行任意程序命令等。
另一方面,被入侵者利用,從而達(dá)到控制網(wǎng)站服務(wù)器的目的。這些網(wǎng)頁腳本常稱為WEB腳本木馬,比較流行的asp或php木馬,也有基于.NET的腳本木馬與JSP腳本木馬。
四、Webshell的隱蔽性
WebShell后門具有隱蔽性,一般隱藏在正常文件中并修改文件時(shí)間達(dá)到隱蔽的,還有利用服務(wù)器漏洞進(jìn)行隱藏,如 "..." 目錄就可以達(dá)到,站長從FTP中找到的是含有“..”的文件夾,而且沒有權(quán)限刪除,還有一些隱藏的WEBSHELL,可以隱藏于正常文件帶參數(shù)運(yùn)行腳本后門。
webshell可以穿越服務(wù)器防火墻,由于與被控制的服務(wù)器或遠(yuǎn)程過80端口傳遞的,因此不會(huì)被防火墻攔截。并且使用webshell一般不會(huì)在系統(tǒng)日志中留下記錄,只會(huì)在網(wǎng)站的web日志中留下一些數(shù)據(jù)提交記錄,沒有經(jīng)驗(yàn)的管理員是很難看出入侵痕跡的。
五、如何防范Webshell 滲透?
從根本上解決動(dòng)態(tài)網(wǎng)頁腳本的安全問題,要做到防注入、防爆庫、防COOKIES欺騙、防跨站攻擊(xss)等等,務(wù)必配置好服務(wù)器FSO權(quán)限。最小的權(quán)限等于最大的安全。
最有效方法就是:可寫目錄不給執(zhí)行權(quán)限,有執(zhí)行權(quán)限的目錄不給寫權(quán)限。
具體的防范方法(以asp為例子):
1、建議用戶通過ftp來上傳、維護(hù)網(wǎng)頁,盡量不安裝asp的上傳程序。
2、對(duì)asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。
3、asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。
4、到正規(guī)網(wǎng)站下載程序,下載后要對(duì)數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫名稱要有一定復(fù)雜性。
5、要盡量保持程序是最新版本。
6、不要在網(wǎng)頁上加注后臺(tái)管理程序登陸頁面的鏈接。
7、為防止程序有未知漏洞,可以在維護(hù)后刪除后臺(tái)管理程序的登陸頁面,下次維護(hù)時(shí)再通過上傳即可。
8、要時(shí)常備份數(shù)據(jù)庫等重要文件。
9、日常要多維護(hù),并注意空間中是否有來歷不明的asp文件。
10、盡量關(guān)閉網(wǎng)站搜索功能,利用外部搜索工具,以防爆出數(shù)據(jù)。
11、利用白名單上傳文件,不在白名單內(nèi)的一律禁止上傳,上傳目錄權(quán)限遵循最小權(quán)限原則。
12、使用防篡改系統(tǒng)工具,或者使用軟件監(jiān)控網(wǎng)站目錄文件的操作日志,一發(fā)現(xiàn)異常馬上處理。
到此這篇關(guān)于Webshell基礎(chǔ)知識(shí)深入講解的文章就介紹到這了,更多相關(guān)Webshell基礎(chǔ)知識(shí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- PHP常見過waf webshell以及最簡單的檢測(cè)方法
- PHP實(shí)現(xiàn)webshell掃描文件木馬的方法
- 一個(gè)ASP.Net下的WebShell實(shí)例
- php木馬webshell掃描器代碼
- 精確查找PHP WEBSHELL木馬 修正版
- 精確查找PHP WEBSHELL木馬的方法(1)