Jsp安全初探
發(fā)表時間:2024-02-18 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]· Lovehacker·yesky 其實我相信還有幾種辦法可以暴露JSP代碼的,不過具我的大量測試,這和WEB SERVER的配置有絕對的關(guān)系,就那我自己裝的IBM Websphere Commerce Suite而言,還有別的方法看到JSP源代碼,但我相信是因為IBM H...
· Lovehacker·yesky
其實我相信還有幾種辦法可以暴露JSP代碼的,不過具我的大量測試,這和WEB SERVER的配置有絕對的關(guān)系,就那我自己裝的IBM Websphere Commerce Suite而言,還有別的方法看到JSP源代碼,但我相信是因為IBM HTTP SERVER的配置造成的.
如果你也想和我一樣去發(fā)現(xiàn)JSP暴露源代碼的BUG的話,首先你需要了解JSP的工作原理,值得慶幸的是我已經(jīng)幫你做了這一切!
jsp和其它的php,asp工作機制不一樣,雖然它也是一種web編程語言。首次調(diào)用JSP文件其實是執(zhí)行一個編譯為Servlet的過程。注意----->我們就要在這上邊做文章,明白嗎?我們要干的事情是,讓JSP在編譯前被瀏覽器當作一個文本或其它文件發(fā)送給客戶端,或在JSP裝載的時候不去執(zhí)行編譯好的Servlet而直接讀JSP的內(nèi)容并發(fā)送給客戶端。
明白了道理及所要達到的目的就好下手了,我仔細的觀察了調(diào)用及返回過程發(fā)現(xiàn):JSP被編譯為了Servlet保存在指定的目錄下如:http://www.x.com/lovehacker/index.jsp很可能存放在X:\IBM\WAServer\temp\default_host\default_app\pagecompile\_lov
~~~~
ehacker_index_xjsp.class
~~~~~~~~~~~~~~~~~~~~~~~~
已經(jīng)過編譯的index.jsp(順便說一下,IBM WCS我至少發(fā)現(xiàn)了三種以上獲得文件存放真實路徑的辦法,但可笑的是我和IBM的工程師聊到這事的時候他們不以為然)
回到正題,也就是說_lovehacker_index_xjsp.class顯然是我們不需要的文件,而且我們得到它的可能性也不大,我們要干的是不去執(zhí)行_lovehacker_index_xjsp.class而是直接讀index.jsp的內(nèi)容.我在我的SERVER上已經(jīng)完成了這個工作,源代碼盡收眼底,你呢?是否也已經(jīng)想好了辦法?那還等什么趕快去實踐吧!
據(jù)我分析最初的xxx.JSP暴露源代碼也是因為我前邊的這種想法造成的,本來目錄中存放了一個_xxx_xjsp.class但訪問xxx.JSP本來是個合法的請求,而又找不到對應的Servlet所以就把xxx.JSP當做一個文本或其它文件發(fā)送給了用戶。
也許這是因為IBM HTTP SERVER配置不當造成的,但相信如果你能成功的話,會有一種成就感,很爽的哦!
順便說一下暴露文件存放真實路徑可能會帶來的危害:
首先會讓入侵者了解磁盤配置情況
聰明的入侵者甚至可以分析出管理員的水平高低
為入侵者修改你的首頁提供了方便(起碼不用在找你的WEB目錄在那個磁盤了)
可能被利用一些其它的CGI的漏洞查看到web目錄下的文件如XX.ASP,XX.JSP,XX.PHP等.