教你入侵基于java Struts的JSP網(wǎng)站
互聯(lián)網(wǎng) 發(fā)布時間:2008-10-08 19:36:02 作者:佚名
我要評論

入侵要點:
à找到注入點;
à暴露網(wǎng)站頁面絕對路徑;
à利用mysql的load_file()讀取網(wǎng)站配置信息找到管理后臺;
à上傳webshell。
首先是了解一下 Struts和.do :
首先了解一下什么是Struts。Struts是Apache基金會Jakarta項
入侵要點:
à找到注入點;
à暴露網(wǎng)站頁面絕對路徑;
à利用mysql的load_file()讀取網(wǎng)站配置信息找到管理后臺;
à上傳webshell。 首先是了解一下 Struts和.do :
首先了解一下什么是Struts。Struts是Apache基金會Jakarta項目組的一個Open Source項目,是一種優(yōu)秀的J2EE MVC架構(gòu)方式,它利用taglib獲得可重用代碼和抽象 Java 代碼,利用ActionServlet配合Struts-config.xml實現(xiàn)對整個系統(tǒng)導(dǎo)航。增強了開發(fā)人員對系統(tǒng)的整體把握,提高了系統(tǒng)的可維護性和可擴充性。 Struts的核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml,Struts-config.xml集中了所有頁面的導(dǎo)航定義。
關(guān)于sstruts更加詳細的內(nèi)容可以到以下地址瀏覽:
復(fù)制內(nèi)容到剪貼板代碼: http://www.cn-java.com/www1/?action-viewnews-itemid-2207,
http://www.chinaitlab.com/www/techspecial/struts/,
http://www.ibm.com/developerworks/cn/java/j-struts/,
.do文件是一個網(wǎng)頁后臺程序,它實際不是一個文件,并沒有一個真正的.do文件存在,它不能直接打開 ,struts使用一個特殊的servlet作為“交換機”,將來自web瀏覽器的請求轉(zhuǎn)到相應(yīng)的serverpage。在開發(fā)web應(yīng)用時有一個必須要寫的部署描述文件(web-inf/web.xml)。這個文件描述了你的web應(yīng)用的配置,包括歡迎頁面(welcome pages)(當請求沒有指定時,出現(xiàn)在目錄下的文件)、servlet(路徑或者擴展名)和那些servlets的參數(shù)的映射。在這個文件中,你配置struts actionservlet作為一個操控所有指定映射(通常以.do為擴展名)請求的servlet——這就是“交換機”。
可以通過下面地址的內(nèi)容更加清楚的明白.do文件: 復(fù)制內(nèi)容到剪貼板代碼:
http://topic.csdn.net/u/20071009/11/D16FB438-4A2A-47E2-A03A-F62366C8F064.html
訪問xx.do頁面實際就是訪問xx.jsp文件,但是使用了struts技術(shù)的網(wǎng)站,直接訪問xx.jsp是不會被Tomcat、Resin等web服務(wù)器解析的。
xx.do頁面目錄下必有web-inf文件夾,存放Struts-config.xml?。? 下面開始轉(zhuǎn)入主題:
1、打開目標站點,發(fā)現(xiàn)是jsp類型網(wǎng)站,頁面后綴名稱是.do和.jsp,
打開頁面http://www.site.com.cn:8081/newslistAction.do?type=1,輸入標點 ',根據(jù)頁面返回的內(nèi)容,發(fā)現(xiàn)網(wǎng)站是基于Apache Tomcat/5.0.28 的web服務(wù)器。 2、尋找注入點,打開“產(chǎn)品中心”-“網(wǎng)絡(luò)防火墻”-打開一種產(chǎn)品的介紹,http://www.site.com.cn:8081/showproAction.do?id=47,試試是否能手工注入,根據(jù)對此站點的了解,數(shù)據(jù)庫應(yīng)該是mysql或者oracle,oracle那種大玩意我們就不敢碰了,先試試看是不是mysql,http://www.site.com.cn:8081/showproAction.do?id=47 and ord(mid(version(),1,1))>51,頁面正常,說明是mysql,而且mysql的版本是4.0以上,可以使用union查詢,下面爆一下字段數(shù): 復(fù)制內(nèi)容到剪貼板代碼:
http://www.site.com.cn:8081/showproAction.do?id=47' and 1=2 union select 1,2/* 頁面出錯;
http://www.site.com.cn:8081/showproAction.do?id=47' and 1=2 union select 1,2,3/* 頁面出錯;
.....
http://www.site.com.cn:8081/showproAction.do?id=47' and 1=2 union select 1,2,3,4,5,6,7/*
頁面正常,而且頁面內(nèi)容顯示出我們想要的數(shù)字??!
mysql注入爆字段有個技巧,不需要這么麻煩進行猜測,可以利用order by 暴字段數(shù),例如: 復(fù)制內(nèi)容到剪貼板代碼:
http://www.site.com.cn:8081/showproAction.do?id=47' order by 7/* 頁面正常;
http://www.site.com.cn:8081/showproAction.do?id=47' order by
8/* 頁面出錯,說明共有7個字段
; 3、既然知道了是mysql數(shù)據(jù)庫,也找到了注入點,當然是拿出php注入工具,這里使用的是海洋頂端網(wǎng)PHP注射工具,獲取數(shù)據(jù)庫的一些信息,更加重要的使用load_file()函數(shù)。
對于mysql數(shù)據(jù)庫來說,root用戶默認只能在本機登陸,就不要指望使用空密碼連接3306端口遠程登錄mysql數(shù)據(jù)庫.
現(xiàn)在還不知道操作系統(tǒng)是windows還是linux,如果系統(tǒng)沒有做用戶權(quán)限設(shè)置,可以用load_file()函數(shù)試試,load_file(‘/etc/password’),load_file(‘c:\boot.ini’),竟然是windows 2000 Server!看來網(wǎng)站架構(gòu)應(yīng)該就是windows 2000 server tomcat mysql,不要指望IIS了。 4、繼續(xù)注入,看能不能找到網(wǎng)站管理員帳號和密碼。拿出近來比較出風頭的注入工具pangolin(穿山甲),輸入注入地址http://www.site.com.cn:8081/showproAction.do?id=47,數(shù)據(jù)庫當然是mysql了,注入字符類型是int型,暈,跑了半天竟然跑不出東西來,數(shù)據(jù)表也猜測不到東西,看來用工具猜測獲得數(shù)據(jù)庫的管理員帳號和密碼是不太現(xiàn)實了,再想想其他辦法咯。 4、如果知道頁面文件在硬盤的絕對路徑,當然可以load_file()查看頁面源代碼,關(guān)鍵是怎么暴露出頁面的地址呢?如果是php頁面還可以構(gòu)造一些sql語句導(dǎo)致查詢出錯而暴露出web頁面絕對路徑,但現(xiàn)在是tomcat,頁面執(zhí)行出錯的時候都是tomcat該死的調(diào)試信息霸占住頁面。試試啊D注入工具的管理入口搜索,結(jié)果發(fā)現(xiàn)的只有tomcat的默認管理頁面,沒有配置過的tomcat管理界面是登陸不了的。繼續(xù)搜索,無意中打開了http://www.site.com.cn:8081/manager/,http://www.site.com.cn:8081/jiehe/,可以列目錄哦,不過看不到什么有價值的頁面地址。 5、試試工具wwwscan,一個支持SSL的命令行CGI掃描器,據(jù)說收集了很多敏感的目錄文件,終于訪問http://www.site.com.cn:8081\\com3的時候,錯誤頁面暴露出來網(wǎng)站的路徑:F:\Tomcat 5.0\webapps\ROOT\com3 (系統(tǒng)找不到指定的文件),那說明tomcat的虛擬目錄路徑就是F:\Tomcat 5.0\webapps\ROOT\
??!
綠盟漏洞庫(http://www.nsfocus.net/vulndb/9875)是這樣描述此漏洞的:
Apache Tomcat MS-DOS設(shè)備名遠程拒絕服務(wù)漏洞: Apache Tomcat在處理畸形的用戶請求時存在漏洞,遠程攻擊者可以利用這個漏洞對服務(wù)程序執(zhí)行拒絕服務(wù)攻擊,使合法用戶無法
正常訪問服務(wù)。當用戶發(fā)送MS-DOS設(shè)備名加“.jsp”的文件請求到服務(wù)器時,會導(dǎo)致服務(wù)程序發(fā)生拒絕服務(wù)。 6、既然知道了網(wǎng)站的虛擬路徑,那么剩下的就是利用load_file()看頁面代碼咯。先試試load_file(“index.php”),可惜看不到什么有價值的信息,那么看看tomcat的配置文件, F:\Tomcat 5.0\conf\server.xml,如果網(wǎng)站虛擬目錄移動到其他路徑不在tomcat安裝目錄下,在server.xml中會有新的虛擬目錄信息,但此時沒有什么有用的信息。試試F:\Tomcat 5.0\webapps\root\web-inf\struts-config.xml,整個站點的頁面路徑都出來了! 7、http://www.site.com.cn:8081/usereditAction.do?id=1,顯示修改管理員密碼的頁面,不用用戶身份驗證就可以訪問頁面也就不說了,更要命的是天上掉下餡餅:html代碼里面竟然還可以看見用戶帳戶和密碼??!繼續(xù)在struts-config.xml找后臺管理界面登陸頁面,終于發(fā)現(xiàn)是后臺登陸地址是http://www.site.com.cn:8081/siteadmin/login.jsp。 9、google搜索并找到一個:JFolder.jsp,用網(wǎng)站后臺功能上傳jsp木馬,上傳成功,根據(jù)網(wǎng)站內(nèi)其它已上傳圖片的路徑,直接訪問http://www.site.com.cn:8081//dir/上傳文件新名稱,得到webshell!! 10、總結(jié):在本次入侵中,網(wǎng)站存在注入點,然后通過struts-config.xml找到網(wǎng)站的管理后臺地址,然后又暴露出管理員的帳號和密碼,實屬運氣,否則還需要花費很大力氣去猜解管理表名稱以及管理員帳號和密碼后才能順利進入管理后臺并上傳jsp木馬形成webshell,總而言之,網(wǎng)站系統(tǒng)的防護缺陷包括有:網(wǎng)站系統(tǒng)存在注入點、服務(wù)器沒有進行用戶權(quán)限設(shè)置、網(wǎng)站后臺某些管理頁面沒有進行用戶認證、上傳頁面可以上傳任意類型文件。 在wwwscan的掃描結(jié)果中已經(jīng)發(fā)現(xiàn)了上傳頁面,并且能上傳任意文件,但是還需要猜解到文件傳上去后的路徑是img還是dir或者是其它路徑然后才能訪問到此jsp木馬,但本次入侵主要還是利用了struts的配置文件struts-config.xml來獲得webshell!
相關(guān)文章
什么是CC攻擊 判斷網(wǎng)站是否被CC攻擊并且如何防御CC攻擊
CC主要是用來攻擊頁面的,大家都有這樣的經(jīng)歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,對不?!一般來說,訪問的人越多,論壇的頁2024-01-06Windows系統(tǒng)安全風險-本地NTLM重放提權(quán)
入侵者主要通過Potato程序攻擊擁有SYSTEM權(quán)限的端口偽造網(wǎng)絡(luò)身份認證過程,利用NTLM重放機制騙取SYSTEM身份令牌,最終取得系統(tǒng)權(quán)限,該安全風險微軟并不認為存在漏洞,所以2021-04-15- 這篇文章主要介紹了文件上傳漏洞全面滲透分析小結(jié),這里主要為大家分享一下防御方法,需要的朋友可以參考下2021-03-21
- 這篇文章主要介紹了sql手工注入語句&SQL手工注入大全,需要的朋友可以參考下2017-09-06
- 這篇文章主要介紹了詳解Filezilla server 提權(quán),需要的朋友可以參考下2017-05-13
FileZilla Server 2008 x64 提權(quán)與防御方法
這篇文章主要介紹了FileZilla Server 2008 x64 提權(quán)與防御方法,需要的朋友可以參考下2017-05-13https加密也被破解 HEIST攻擊從加密數(shù)據(jù)獲取明文
不久之前我們說過關(guān)于http和https的區(qū)別,對于加密的https,我們一直認為它是相對安全的,可今天要講的是,一種繞過HTTPS加密得到明文信息的web攻擊方式,不知道這消息對你2016-08-10iPhone和Mac也會被黑 一條iMessage密碼可能就被盜了
一直以來蘋果系統(tǒng)的安全性都是比安卓要高的,但是再安全的系統(tǒng)也免不了漏洞,蘋果也一樣。最近爆出的新漏洞,只需要接收一條多媒體信息或者iMessage就會導(dǎo)致用戶信息泄露。2016-07-27- 國家正在修正關(guān)于黑客方面的法律法規(guī),有一條震驚黑客圈的“世紀佳緣”起訴白帽黑客事件,深深的傷害了廣大黑客們的心,加上扎克伯格和特拉維斯·卡蘭尼克賬號被盜,于是黑2016-07-11
如何逆向破解HawkEye keylogger鍵盤記錄器進入攻擊者郵箱
面對惡意郵件攻擊,我們就只能默默忍受被他攻擊,連自我保護能力都沒有談什么反抗?讓人痛快的是,如今有了解決辦法,逆向破解鍵盤記錄器,進入攻擊者郵箱2016-07-06