Webshell基礎(chǔ)知識深入講解
一、什么是Webshell?
顧名思義,“web”的含義是顯然需要服務(wù)器開放web服務(wù),“shell”的含義是取得對服務(wù)器某種程度上操作權(quán)限。webshell常常被稱為入侵者通過網(wǎng)站端口對網(wǎng)站服務(wù)器的某種程度上操作的權(quán)限。由于webshell其大多是以動態(tài)腳本的形式出現(xiàn),也有人稱之為網(wǎng)站的后門工具。
webshell就是以asp、php、jsp或者cgi等網(wǎng)頁文件形式存在的一種代碼執(zhí)行環(huán)境,也可以將其稱做為一種網(wǎng)頁后門。黑客在入侵了一個(gè)網(wǎng)站后,通常會將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)常用的無外乎三種:大馬,小馬,一句話木馬,具體使用場景和特地如下圖:

三、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端口傳遞的,因此不會被防火墻攔截。并且使用webshell一般不會在系統(tǒng)日志中留下記錄,只會在網(wǎng)站的web日志中留下一些數(shù)據(jù)提交記錄,沒有經(jīng)驗(yàn)的管理員是很難看出入侵痕跡的。
五、如何防范Webshell 滲透?
從根本上解決動態(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、對asp上傳程序的調(diào)用一定要進(jìn)行身份認(rèn)證,并只允許信任的人使用上傳程序。
3、asp程序管理員的用戶名和密碼要有一定復(fù)雜性,不能過于簡單,還要注意定期更換。
4、到正規(guī)網(wǎng)站下載程序,下載后要對數(shù)據(jù)庫名稱和存放路徑進(jìn)行修改,數(shù)據(jù)庫名稱要有一定復(fù)雜性。
5、要盡量保持程序是最新版本。
6、不要在網(wǎng)頁上加注后臺管理程序登陸頁面的鏈接。
7、為防止程序有未知漏洞,可以在維護(hù)后刪除后臺管理程序的登陸頁面,下次維護(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ǔ)知識深入講解的文章就介紹到這了,更多相關(guān)Webshell基礎(chǔ)知識內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用shell+sendmail實(shí)現(xiàn)服務(wù)器監(jiān)控報(bào)警小腳本
用shell+sendmail寫的服務(wù)器監(jiān)控報(bào)警小腳本,有需要的朋友可以參考下2013-03-03
Linux環(huán)境下tcpdump網(wǎng)絡(luò)協(xié)議抓包與解析
這篇文章主要為大家介紹了Linux環(huán)境下tcpdump網(wǎng)絡(luò)協(xié)議抓包與解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
CentOS Stream release 9使用chrony服務(wù)同步時(shí)間的操作方法
這篇文章主要介紹了CentOS Stream release 9 使用chrony服務(wù)同步時(shí)間,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-04-04
Linux shell ftp命令根據(jù)文件日期下載文件的方法
最近做項(xiàng)目遇到這樣的需求要求ftp獲取遠(yuǎn)程數(shù)據(jù)的文件,根據(jù)文件的創(chuàng)建時(shí)間點(diǎn)下載文件。下面小編給大家分享知識點(diǎn)小結(jié),感興趣的朋友要求看看吧2017-09-09
Shell腳本實(shí)現(xiàn)監(jiān)控kingate并自動啟動
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)監(jiān)控kingate并自動啟動,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12
linux踢出遠(yuǎn)程登錄用戶命令(總結(jié)篇)
本文給大家總結(jié)了linux踢出遠(yuǎn)程登錄用戶命令,通過linux命令介紹了 tty 踢出登錄的操作方法,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-01-01
shell腳本學(xué)習(xí)指南[一](Arnold Robbins & Nelson H
這篇文章主要介紹了shell腳本學(xué)習(xí)指南[一]Arnold Robbins & Nelson H.F. Beebe著,需要的朋友可以參考下2014-02-02
Shell編程中的特殊變量之進(jìn)程狀態(tài)變量介紹
這篇文章主要介紹了Shell編程中的特殊變量之進(jìn)程狀態(tài)變量介紹,本文講解了$$、$!、$?、$@、$_這些特殊變量,需要的朋友可以參考下2014-12-12

