批量getshell軟件【全網exp】,集合全網出getshell幾率最高的exp集成,輕松日出幾百!
教材https://share.weiyun.com/NM8NH1Xt
一、什么是webshell
1. webshell簡介
webshell,顧名思義:web指的是在web服務器上,而shell是用腳本語言編寫的腳本程序,webshell就是就是web的一個管理工具,可以對web服務器進行操作的權限,也叫webadmin。webshell一般是被網站管理員用於網站管理、服務器管理等等一些用途,但是由於webshell的功能比較強大,可以上傳下載文件,查看數據庫,甚至可以調用一些服務器上系統的相關命令(比如創建用戶,修改刪除文件之類的),通常被利用,通過一些上傳方式,將自己編寫的webshell上傳到web服務器的頁面的目錄下,然后通過頁面訪問的形式進行入侵,或者通過插入一句話連接本地的一些相關工具直接對服務器進行入侵操作。
1. webshell的分類
webshell根據腳本可以分為PHP腳本,ASP腳本,也有基於.NET的腳本和JSP腳本。在國外,還有用python腳本語言寫的動態網頁,當然也有與之相關的webshell。
根據功能也分為大馬與小馬,小馬通常指的一句話,例如:<%eval request(“pass”)%>通常把這句話寫入一個文檔里面,然后文件名改成xx.asp。然后傳到服務器上面。這里eval方法將request(“pass”)轉換成代碼執行,request函數的作用是應用外部文件。這相當於一句話的客戶端配置。服務器配置(即本機配置):
這里通過提交表單的方式,將提交上去,具體的做法是將定義一個對象IP,然后以文本方式寫入newvalue里面的內容(newvalue的內容在textarea定義),寫入以覆蓋的方式產生ASP文件,然后執行這個腳本。其中客戶端中的value代表的是表單的名字,必須跟服務端(本機)的post提交中的表單名一樣,所以這里的value可以為任意字符,相當於一個之類的東西,但是這個‘’是明文的,可以截取下來。PHP的一句話原理跟以上的原理差不多,就是語言的差別導致語法不同。這就是小馬的基本工作原理。
大馬的工作模式簡單的多,他沒有客戶端與服務端的區別,就是一些腳本大牛直接把一句話的服務端整合到了一起,通過上傳將大馬上傳,然后復制該大馬的url地址直接訪問,在頁面上執行對web服務器的工作。但是有些網站對上傳文件做了嚴格的限制,因為大馬的功能較多,所以體積相對較大,很有可能超出了網站上傳限制,但是小馬的體積可以控制(比如把代碼復制很多遍,或者在一個亂碼文件中夾入代碼),但是小馬操作起來比較繁瑣,可以先上傳小馬拿到webshell,然后通過小馬的連接上傳大馬拿到服務器。
二、如何上傳webshell
1.解析上傳
現在對於不同的web服務器系統對應的有不同的web服務端程序,windows端主流的有iis,linux端主流的有nginx。這些服務對搭建web服務器提供了很大的幫助,同樣也對服務器帶來隱患,這些服務器上都存在一些,很容易被利用。
(1)iis目錄解析
比如:/xx.asp/xx.jpg
雖然上傳的是JPG文件,但是如果該文件在xx.asp文件夾下,那個iis會把這個圖片文件當成xx.asp解析,這個存在於iis5.x/6.0版本。
(2)文件解析
比如:xx.asp;.jpg。在網頁上傳的時候識別的是jpg文件,但是上傳之后iis不會解析;之后的字符,同樣會把該文件解析成asp文件,這個存在於iis5.x/6.0版本。
(3)文件名解析
比如:xx.cer/xx.cdx/xx.asa。在iis6.0下,cer文件,cdx文件,asa文件都會被當成可執行文件,里面的asp代碼也同樣會執行。(其中asa文件是asp特有的配置文件,cer為證書文件)。