国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于跨站腳本的路由設(shè)備跨域攻擊模型

2016-09-24 01:31楊勇胡勇四川大學(xué)電子信息學(xué)院成都610065
現(xiàn)代計(jì)算機(jī) 2016年5期
關(guān)鍵詞:跨域腳本攻擊者

楊勇,胡勇(四川大學(xué)電子信息學(xué)院,成都 610065)

基于跨站腳本的路由設(shè)備跨域攻擊模型

楊勇,胡勇
(四川大學(xué)電子信息學(xué)院,成都610065)

0 引言

路由設(shè)備有連接局域網(wǎng)和廣域網(wǎng)實(shí)現(xiàn)不同網(wǎng)絡(luò)互相通信的作用,同樣也起到數(shù)據(jù)處理、網(wǎng)絡(luò)管理等安全作用。類似于廣泛重視和研究的Web服務(wù)器漏洞,路由設(shè)備如路由器、Wi-Fi等管理平臺也同樣存在漏洞,攻擊者可以通過跨站腳本攻擊繞過路由設(shè)備的網(wǎng)絡(luò)訪問管理,從而禁用或改變它的功能設(shè)置,使攻擊者獲得訪問權(quán)限并展開進(jìn)一步的攻擊。因此,必須防止路由設(shè)備的跨站腳本攻擊,保證其安全。

跨域攻擊指的是利用網(wǎng)站存在的前端安全漏洞或跨域安全設(shè)置缺陷進(jìn)行的Web攻擊。傳統(tǒng)的安全思維是按資產(chǎn)、功能優(yōu)先保護(hù)核心業(yè)務(wù)等,非核心業(yè)務(wù)的安全等級一般沒有核心業(yè)務(wù)高,但跨域Web攻擊可以從一般域攻擊到核心域。

1 路由設(shè)備腳本類攻擊威脅分類

路由設(shè)備特別是路由器、Wi-Fi接入點(diǎn)存在的腳本漏洞威脅有下面幾種。

1.1跨站腳本攻擊(XSS)

跨站腳本攻擊[2-3],是Web前端的攻擊,當(dāng)用戶瀏覽該網(wǎng)頁時(shí),嵌入網(wǎng)頁的惡意代碼就會被執(zhí)行,從而達(dá)到攻擊者攻擊的目的。XSS攻擊類型分為反射型和存儲型[1]。通過跨站腳本攻擊可以獲取操作權(quán)限、提權(quán)、針對性掛馬等。

1.2CSRF(Cross-Site Request Forgery)跨站請求偽造

CSRF與XSS攻擊方式差異很大。XSS利用站點(diǎn)內(nèi)的信任用戶,而CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網(wǎng)站。與XSS攻擊相比,CSRF攻擊不多,正因?yàn)槿绱耍瑢ζ溥M(jìn)行防范的資源也相當(dāng)稀少,使其變得難以防范,所以被認(rèn)為比XSS更具危險(xiǎn)性。當(dāng)前,CSRF的防范已被越來越多的網(wǎng)站所重視。

2 路由設(shè)備腳本漏洞攻擊策略

路由設(shè)備腳本攻擊需要考慮多方面的問題。首先從客戶瀏覽器的一般訪問過程開始研究,逐步完成各個(gè)環(huán)節(jié)的攻擊,最后實(shí)現(xiàn)跨域攻擊。路由設(shè)備本身并沒有過多的交互面板,也不需要使用外部數(shù)據(jù)庫、服務(wù)器,基本的數(shù)據(jù)參數(shù)只需要簡單地保存在路由設(shè)備的存儲器中,所以能完成路由設(shè)備腳本攻擊的方法集中在登錄界面的基礎(chǔ)認(rèn)證方式上。本節(jié)通過還原客戶訪問網(wǎng)絡(luò)的一般過程,逐步實(shí)現(xiàn)腳本漏洞攻擊。

2.1跨站腳本攻擊的觸發(fā)條件研究

按照用戶的一般訪問網(wǎng)絡(luò)過程,具有一定安全意識的用戶在進(jìn)行瀏覽器操作時(shí),會選擇性訪問較為安全的網(wǎng)站,那如何在一個(gè)安全的網(wǎng)頁上放置攻擊者設(shè)計(jì)的腳本代碼,就是首先需要考慮的。跨站腳本攻擊就能達(dá)到這個(gè)目的,攻擊者往Web頁面里插入惡意腳本代碼,當(dāng)用戶瀏覽該網(wǎng)頁時(shí),嵌入該頁面的腳本代碼會被執(zhí)行。這個(gè)過程的重點(diǎn)就是突破網(wǎng)站服務(wù)器的安全防御和繞過瀏覽器的安全策略。

對于家庭用戶,可在其訪問率較高的網(wǎng)站尋找存儲型跨站漏洞或者隱蔽性更好的DOM型腳本漏洞。對于特定用戶,例如會員、管理員、VIP等具有特殊權(quán)限,能夠控制網(wǎng)絡(luò)訪問、流量控制的用戶,可以進(jìn)行更具有針對性的攻擊策略。會員有很多有意義的操作或者有我們需要的內(nèi)部個(gè)人資料,所以我們可以通過XSS對已登錄訪問者進(jìn)行有權(quán)限操作。筆者認(rèn)為cookies的盜取應(yīng)該算作這一項(xiàng),因?yàn)槠淠康囊彩谦@取用戶操作權(quán)限(盜口令包括在內(nèi)),從而獲取用戶某些信息或者進(jìn)行權(quán)限下的相關(guān)操作。此類攻擊的重點(diǎn)是上述所說的突破網(wǎng)站服務(wù)器的安全防御。

瀏覽器的安全策略同樣不能忽視,使用腳本攻擊技術(shù)就需要考慮如何跨域,受同源策略所限,不同域名是無法進(jìn)行隨意訪問的。讓窗口或框架在不同域頁面之間跳轉(zhuǎn),是件很尋常的事情,所以跳轉(zhuǎn)操作總是被允許的。只有試圖讀寫頁面內(nèi)容時(shí),才會受到限制。而對于跨子域的訪問限制并沒有如此嚴(yán)格,一類可行的技術(shù)是通過設(shè)置document.domain實(shí)現(xiàn)跨域,當(dāng)兩個(gè)二級域名,URL協(xié)議,端口都相同的網(wǎng)頁,自身都通過JavaScript顯示地設(shè)置了相同的 document.domain值,并且此值至少等于自身的二級域名,它們之間才可以相互作用。也就是說,當(dāng)網(wǎng)頁作者指定document.domain屬性為域名的后半部分時(shí),讀寫許可將擴(kuò)展至二級域名。例如:http://www.aaa.com下的某個(gè)頁面,將document.domain屬性設(shè)置成aaa.com,同時(shí) http:// home.aaa.com下的某個(gè)頁面,也將document.domain屬性設(shè)置成 aaa.com,它們之間即可完成跨子域的訪問。因?yàn)?,只有?aaa.com結(jié)尾的站點(diǎn)上的文檔,才可能將其document.domain屬性設(shè)置為aaa.com,這樣就確保了同一個(gè)服務(wù)提供者的頁面,才能互相提供權(quán)限,從而完成交互操作。在開發(fā)人員方面這是很方便的跨域技術(shù),但是在攻擊者眼中這簡直就是一個(gè)大后門,黑客只需要找到*.aaa.com下任意一個(gè)XSS漏洞,在任意一個(gè)子域名里的網(wǎng)頁都可以跨域攻擊a.aaa.com和b.aaa. com。

2.2基礎(chǔ)認(rèn)證與權(quán)限認(rèn)證繞過策略

有了上述的跨站條件,接下來需要考慮的就是繞過認(rèn)證和在用戶正常訪問網(wǎng)頁時(shí)毫無征兆地觸發(fā)代碼,跨站訪問偽造(CSRF)技術(shù)就可以實(shí)現(xiàn)。路由器的默認(rèn)網(wǎng)關(guān)(即路由器訪問地址)都是類似的URL設(shè)置,這給攻擊者創(chuàng)造了可實(shí)現(xiàn)跨站訪問偽造攻擊的條件。通過遍歷默認(rèn)用戶名、口令實(shí)現(xiàn)登錄認(rèn)證,前提是路由器的設(shè)置仍為默認(rèn)用戶名和口令。

大量的測試研究表明,路由器之間底層的代碼差別很大,但整體的設(shè)計(jì)思路有很明顯的相似點(diǎn),尤其需要著重說明的是權(quán)限認(rèn)證,其共同點(diǎn)是都在請求操作時(shí)在請求頭(request header)[5]中添加cookie或者類cookie方式的header。經(jīng)過一定數(shù)量的路由檢測,主要的權(quán)限認(rèn)證繞過漏洞有:仿造cookie,類cookie權(quán)限認(rèn)證shell,設(shè)備自身認(rèn)證缺陷。

相當(dāng)一部分路由器其cookie的設(shè)計(jì)比較巧妙,每次認(rèn)證都會生成隨機(jī)數(shù)的cookie,并且使用session技術(shù)設(shè)置了存在時(shí)間。還有的設(shè)備并沒有直接使用cookie,而是使用了類似于 cookie認(rèn)證的“authorization”,其原理大同小異,將其賦值部分通過一定格式的編碼后放在請求頭文件中。在偽造訪問時(shí)攻擊者只要加上這個(gè)cookie或者類似cookie的“authorization”便可以成功。

2.3訪問偽造技術(shù)研究

研究出基礎(chǔ)認(rèn)證與權(quán)限認(rèn)證的基本原理,就可以相對應(yīng)地構(gòu)造腳本代碼了,在IE瀏覽器以及現(xiàn)有的Chrome、Firefox等主流瀏覽器都可以使用設(shè)計(jì)較為簡單的腳本攻擊。現(xiàn)在的大部分家用路由器都提供了Web管理功能,就是將路由器的LAN口和計(jì)算機(jī)相接,在瀏覽器中輸入一個(gè)地址就會彈出一個(gè)對話框,提示用戶輸入用戶名和密碼。因此我們可以設(shè)想,如果提交數(shù)據(jù)的方式已知,可以構(gòu)造一段腳本。

而在IE6.0或者Chrome、Firfox上存在一種比較特殊的URL訪問方法實(shí)現(xiàn)路由器認(rèn)證:http://admin:admin@192.168.0.1,這種方法可以不需要手動輸入用戶名和密碼完成路由器的直接認(rèn)證和跳轉(zhuǎn)。這樣攻擊者便可構(gòu)造出可跨站的方法,簡單的方法有讓用戶單擊超鏈接、瀏覽器自動請求資源,如標(biāo)簽:

這里使用更具有實(shí)用性的DOM技術(shù)實(shí)現(xiàn)起來更加方便。通過調(diào)用