Webshell基礎知識深入講解
一、什麼是Webshell?
顧名思義,“web”的含義是顯然需要服務器開放web服務,“shell”的含義是取得對服務器某種程度上操作權限。webshell常常被稱為入侵者通過網站端口對網站服務器的某種程度上操作的權限。由於webshell其大多是以動態腳本的形式出現,也有人稱之為網站的後門工具。
webshell就是以asp、php、jsp或者cgi等網頁文件形式存在的一種代碼執行環境,也可以將其稱做為一種網頁後門。黑客在入侵瞭一個網站後,通常會將asp或php後門文件與網站目錄下正常的網頁文件混在一起,然後就可以使用瀏覽器來訪問asp或者php後門,得到一個命令執行環境,以達到控制網站服務器的目的。
shell是一個人機交互頁面,能操控服務器並獲取權限。Shell文件有個變態的地方,就是可從服務器那邊接收數據並執行、返回結果,也就是說隻要把 shell 文件上傳到目標服務器,就能操控服務器瞭。
二、webshell的分類
webshell根據腳本可以分為PHP腳本木馬,ASP腳本木馬,也有基於.NET的腳本木馬和JSP腳本木馬。根據時代和技術的變遷,國外也有用python編寫的腳本木馬,不過國內常用的無外乎三種:大馬,小馬,一句話木馬,具體使用場景和特地如下圖:
三、Webshell的作用
一方面,webshell被站長常常用於網站管理、服務器管理等等,根據FSO權限的不同,作用有在線編輯網頁腳本、上傳下載文件、查看數據庫、執行任意程序命令等。
另一方面,被入侵者利用,從而達到控制網站服務器的目的。這些網頁腳本常稱為WEB腳本木馬,比較流行的asp或php木馬,也有基於.NET的腳本木馬與JSP腳本木馬。
四、Webshell的隱蔽性
WebShell後門具有隱蔽性,一般隱藏在正常文件中並修改文件時間達到隱蔽的,還有利用服務器漏洞進行隱藏,如 “…” 目錄就可以達到,站長從FTP中找到的是含有“..”的文件夾,而且沒有權限刪除,還有一些隱藏的WEBSHELL,可以隱藏於正常文件帶參數運行腳本後門。
webshell可以穿越服務器防火墻,由於與被控制的服務器或遠程過80端口傳遞的,因此不會被防火墻攔截。並且使用webshell一般不會在系統日志中留下記錄,隻會在網站的web日志中留下一些數據提交記錄,沒有經驗的管理員是很難看出入侵痕跡的。
五、如何防范Webshell 滲透?
從根本上解決動態網頁腳本的安全問題,要做到防註入、防爆庫、防COOKIES欺騙、防跨站攻擊(xss)等等,務必配置好服務器FSO權限。最小的權限等於最大的安全。
最有效方法就是:可寫目錄不給執行權限,有執行權限的目錄不給寫權限。
具體的防范方法(以asp為例子):
1、建議用戶通過ftp來上傳、維護網頁,盡量不安裝asp的上傳程序。
2、對asp上傳程序的調用一定要進行身份認證,並隻允許信任的人使用上傳程序。
3、asp程序管理員的用戶名和密碼要有一定復雜性,不能過於簡單,還要註意定期更換。
4、到正規網站下載程序,下載後要對數據庫名稱和存放路徑進行修改,數據庫名稱要有一定復雜性。
5、要盡量保持程序是最新版本。
6、不要在網頁上加註後臺管理程序登陸頁面的鏈接。
7、為防止程序有未知漏洞,可以在維護後刪除後臺管理程序的登陸頁面,下次維護時再通過上傳即可。
8、要時常備份數據庫等重要文件。
9、日常要多維護,並註意空間中是否有來歷不明的asp文件。
10、盡量關閉網站搜索功能,利用外部搜索工具,以防爆出數據。
11、利用白名單上傳文件,不在白名單內的一律禁止上傳,上傳目錄權限遵循最小權限原則。
12、使用防篡改系統工具,或者使用軟件監控網站目錄文件的操作日志,一發現異常馬上處理。
到此這篇關於Webshell基礎知識深入講解的文章就介紹到這瞭,更多相關Webshell基礎知識內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 關於Redis未授權訪問的問題
- python爬蟲用request庫處理cookie的實例講解
- Python新手入門之解釋器的安裝
- python+selenium 實現掃碼免密登錄示例代碼
- 一文讀懂Python版本管理工具Pyenv使用