XSS攻擊 [轉]
一、什么是XSS攻擊
XSS又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者往Web頁(yè)面里插入惡意html代碼,當用戶(hù)瀏覽該頁(yè)之時(shí),嵌入其中Web里面的html代碼會(huì )被執行,從而達到惡意用戶(hù)的特殊目的。XSS屬于被動(dòng)式的攻擊,因為其被動(dòng)且不好利用,所以許多人常呼略其危害性。而本文主要講的是利用XSS得到目標服務(wù)器的shell。技術(shù)雖然是老技術(shù),但是其思路希望對大家有幫助。
如何尋找XSS漏洞
就個(gè)人而言,我把XSS攻擊分成兩類(lèi),一類(lèi)是來(lái)自?xún)炔康墓?,主要指的是利用程序自身的漏洞,構造跨站語(yǔ)句,如:dvbbs的showerror.asp存在的跨站漏洞。另一類(lèi)則是來(lái)來(lái)自外部的攻擊,主要指的自己構造XSS跨站漏洞網(wǎng)頁(yè)或者尋找非目標機以外的有跨站漏洞的網(wǎng)頁(yè)。如當我們要滲透一個(gè)站點(diǎn),我們自己構造一個(gè)有跨站漏洞的網(wǎng)頁(yè),然后構造跨站語(yǔ)句,通過(guò)結合其它技術(shù),如社會(huì )工程學(xué)等,欺騙目標服務(wù)器的管理員打開(kāi)。
然后利用下面的技術(shù)得到一個(gè)shell.
如何利用
傳統的跨站利用方式一般都是攻擊者先構造一個(gè)跨站網(wǎng)頁(yè),然后在另一空間里放一個(gè)收集cookie的頁(yè)面,接著(zhù)結合其它技術(shù)讓用戶(hù)打開(kāi)跨站頁(yè)面以盜取用戶(hù)的cookie,以便進(jìn)一步的攻擊。個(gè)人認為這種方式太過(guò)于落后,對于弊端大家可能都知道,因為即便你收集到了cookie你也未必能進(jìn)一步滲透進(jìn)去,多數的cookie里面的密碼都是經(jīng)過(guò)加密的,如果想要cookie欺騙的話(huà),同樣也要受到其它的條件的限約。而本文提出的另一種思路,則從一定程度上解決上述的問(wèn)題。對于個(gè)人而言,比較成熟的方法是通過(guò)跨站構造一個(gè)表單,表單的內容則為利用程序的備份功能或者加管理員等功能得到一個(gè)高權限。下面我將詳細的介紹這種技術(shù)。
二、來(lái)自?xún)炔康目缯竟?nbsp;
尋找跨站漏洞
如果有代碼的話(huà)比較好辦,我們主要看代碼里對用戶(hù)輸入的地方和變量有沒(méi)有做長(cháng)度和對”<”,”>”,”;”,”’”等字符是否做過(guò)濾。還有要注意的是對于標簽的閉合,像測試QQ群跨站漏洞的時(shí)候,你在標題處輸入 ,代碼是不會(huì )被執行的,因為在源代碼里,有其它的標簽未閉合,如少了一個(gè),這個(gè)時(shí)候,你只要閉合一個(gè),代碼就會(huì )執行,如:你在標題處輸入 ,這樣就可以彈出一個(gè)test的框。
如何利用
我先以BBSXP為例,過(guò)程已做成動(dòng)畫(huà),詳情可見(jiàn)光盤(pán)中的動(dòng)畫(huà)。我舉BBSXP中其中兩個(gè)比較好用的跨站漏洞點(diǎn)為例.
a.先注冊一個(gè)普通用戶(hù),我這里注冊的用戶(hù)是linzi.然后我們在個(gè)人簽名里寫(xiě)入:
c.然后發(fā)個(gè)貼子,可以結合其它技術(shù)欺騙管理員瀏覽發(fā)的貼子。
d.因為是測試,所以我們以管理員身份登陸,然后打開(kāi)貼子,我們會(huì )發(fā)現,linzi已經(jīng)變成了社區區長(cháng)工,
除此之外我們只要在個(gè)人簽名里輸入
同樣發(fā)個(gè)貼子等,只要管理員打開(kāi)了,就會(huì )加了一個(gè)擴展名為asp (有空格)的上傳擴展,這個(gè)時(shí)候,你只要上傳一個(gè)newmm.asp (有空格)就可以得到一個(gè)shell.
在開(kāi)始讀該篇文章的時(shí)候,請大家首先了解一下關(guān)于本文所提及到相關(guān)知識以及原理.
(跨站腳本攻擊的詳細解釋)
跨站腳本攻擊又名CSS/XSS,就是利用ASP等等的文件設置和編寫(xiě)時(shí)的錯誤或者疏忽不當,攻擊者就可以利用這些來(lái)達到自己攻擊目的,如果一個(gè)服務(wù)器存在這些漏洞,那么它的淪陷也是時(shí)間的問(wèn)題!
這些文本文件一般都是要結合數據庫來(lái)使用的,這些數據庫有ACCESS、MSSQL、MYSQL、Oracle等!腳本攻擊就是針對這些數據庫來(lái)配合腳本對一些變量的過(guò)濾不嚴的問(wèn)題來(lái)達到得到用戶(hù)密碼等敏感信息,修改數據庫等目的!
在現在的形式來(lái)說(shuō),CSS攻擊已經(jīng)成為網(wǎng)絡(luò )釣魚(yú)以及低劣手段的常用手法,利用程序過(guò)濾不嚴的漏洞鑲入惡意代碼,致使用戶(hù)訪(fǎng)問(wèn)漏洞頁(yè)面的時(shí)候,被盜取用戶(hù)自身的敏感信息,或者指向含有木馬以及廣告軟件的網(wǎng)站,導致用戶(hù)在不知不覺(jué)中安裝了惡意文件.
(統計系統的工作原理)
就是利用統計系統的頁(yè)面嵌入到使用網(wǎng)站的頁(yè)面,從而記錄網(wǎng)站的用戶(hù)瀏覽數據以及動(dòng)作,例如: <script src="mystat.asp">嵌入到訪(fǎng)問(wèn)網(wǎng)站的頁(yè)面,當用戶(hù)訪(fǎng)問(wèn)的時(shí)候,用戶(hù)的IP等等的數據就會(huì )經(jīng)過(guò)mystat.asp提交到接收頁(yè)面,從而接收頁(yè)面就會(huì )利用內部對象將訪(fǎng)問(wèn)用戶(hù)的IP以及動(dòng)作一一的記錄到統計系統當中,當管理員查看系統的時(shí)候,就會(huì )出現一個(gè)很詳細的列表.
漏洞解釋;
因為統計系統只是作為一個(gè)第三方程序而存在,所以在程序的安全方面都會(huì )比較疏忽,通常他們都會(huì )避免網(wǎng)站收到不必要的攻擊,會(huì )過(guò)濾好每個(gè)頁(yè)面的參數,避免Sql注入攻擊的存在.而我們作為網(wǎng)站管理員也不會(huì )注意到統計系統在入侵方面可以作為入侵的一種,就是因為這樣子的心態(tài),所以致使國內的大型免費訪(fǎng)問(wèn)系統都會(huì )存在著(zhù)種種不一樣的漏洞,而通病就是跨站腳本攻擊(CSS/XSS).首先我們可以找一個(gè)目標網(wǎng)站,為了得到管理員的密碼信息所以我們必須完全性的針對管理員經(jīng)常去的地方----網(wǎng)站訪(fǎng)問(wèn)統計系統.因為我們可以利用跨站腳本在目標網(wǎng)站的任何一個(gè)頁(yè)面進(jìn)行提交,根據訪(fǎng)問(wèn)統計系統的原理,我們可以看到,當用戶(hù)提交一個(gè)訪(fǎng)問(wèn)動(dòng)作的時(shí)候,所使用的網(wǎng)站統計系統會(huì )根據用戶(hù)提交的動(dòng)作返回系統當中,所以我們提交的語(yǔ)句不必理會(huì )所提交程序是否會(huì )進(jìn)行過(guò)濾,我們只是需要我們的提交可以順利的被訪(fǎng)問(wèn)系統記錄,誘發(fā)整個(gè)語(yǔ)句的效果實(shí)現就完全足夠了!當管理員訪(fǎng)問(wèn)系統相關(guān)模塊的頁(yè)面時(shí),整個(gè)CSS效果就會(huì )馬上實(shí)現在他的眼前.現在所看到的只是一個(gè)普通的跨站測試,當惡意用戶(hù)講特定構造的語(yǔ)句提交并且讓系統記錄的時(shí)候,當管理員訪(fǎng)問(wèn)頁(yè)面,我們就可以利用跨站腳本進(jìn)行木馬的種植,為了盜取管理員的相關(guān)資料再卑鄙也是一種手段.當然如果你只是一個(gè)喜歡搞破壞搞惡作劇的話(huà),你不妨多提交幾次語(yǔ)句,每次提交系統都會(huì )記錄,當管理員登錄系統的時(shí)候,就會(huì )一次性暴出N個(gè)效果出來(lái)的了!訪(fǎng)問(wèn)系統的跨站,主要是因為系統編寫(xiě)者沒(méi)有注意到相關(guān)頁(yè)面在用戶(hù)提交數據時(shí)進(jìn)行的過(guò)濾,導致了漏洞的產(chǎn)生.而在國內這樣子的統計系統到處都是,如果我需要大面積的種植木馬,我大可以利用這樣子的漏洞去為我馬房不斷的添加新的馬.小小的跨站但是存在的嚴重性卻是很難想像的.
國內使用大型免費的訪(fǎng)問(wèn)統計系統的用戶(hù)的日益增多,在網(wǎng)絡(luò )上出現了很多的統計系統,但是往往這些程序的編寫(xiě)者卻忘了程序自身的安全問(wèn)題.因為是屬于第三方程序,所以使用者的本身不會(huì )去注意這些甚少會(huì )出現漏洞以及會(huì )危害網(wǎng)站和服務(wù)器安全的問(wèn)題,致使國內的各大型網(wǎng)絡(luò )統計系統都存在著(zhù)各種各樣的問(wèn)題,所以才出現了本文,希望大家在看的時(shí)候,可以學(xué)習如何利用觀(guān)察去進(jìn)行漏洞的發(fā)現.