概述
根據(jù)國(guó)外媒體的最新報(bào)道,谷歌公司的安全工程師Eduardo Vela在jQuery Mobile框架中發(fā)現(xiàn)了一個(gè)安全漏洞,這個(gè)漏洞將會(huì)讓所有使用了jQuery Mobile的網(wǎng)站暴露于跨站腳本攻擊風(fēng)險(xiǎn)之下。
安全客小百科:jQuery Mobile
jQuery Mobile項(xiàng)目(jQuery框架中的一個(gè)組件)是一個(gè)基于HTML5的開發(fā)框架,在它的幫助下,開發(fā)者可以設(shè)計(jì)出能夠適配目前主流移動(dòng)設(shè)備和桌面系統(tǒng)的響應(yīng)式Web站點(diǎn)以及應(yīng)用程序。實(shí)際上,jQuery Mobile不僅可以為主流移動(dòng)平臺(tái)提供jQuery的核心庫(kù),而且它也是一個(gè)較為完整統(tǒng)一的jQuery移動(dòng)UI框架。根據(jù)jQuery開發(fā)團(tuán)隊(duì)的介紹,目前全球范圍內(nèi)大約有十五萬個(gè)活動(dòng)站點(diǎn)是采用jQuery Mobile開發(fā)的。
jQuery Mobile是目前一個(gè)非常熱門的項(xiàng)目,下圖顯示的是Stack Overflow上關(guān)于jQuery Mobile的提問數(shù)量增長(zhǎng)情況:
下圖顯示的是jQuery Mobile的使用統(tǒng)計(jì)情況:
漏洞描述
幾個(gè)月之前,當(dāng)時(shí)的Vela正在苦苦尋找內(nèi)容安全策略(CSP)的繞過方法,但是在研究的過程中他注意到了jQuery Mobile的一種非常有意思的行為。jQuery Mobile會(huì)從location.hash屬性中獲取任意的URL地址,然后再用innerHTML來處理這個(gè)URL地址所返回的響應(yīng),而在某些特定條件下,攻擊者就可以利用它的這種特性來攻擊目標(biāo)網(wǎng)站。當(dāng)他發(fā)現(xiàn)了這種奇怪的行為之后,他便開始繼續(xù)研究,以確定網(wǎng)站是否存在跨站腳本漏洞。
Vela在對(duì)這個(gè)XSS漏洞進(jìn)行了深入分析之后給出了該漏洞的運(yùn)行機(jī)制,大致如下:
1. jQuery Mobile首先會(huì)檢查location.hash屬性值。
2. 如果location.hash中的數(shù)據(jù)看起來跟URL地址差不多的話,它會(huì)嘗試將其添加到瀏覽歷史記錄之中(通過history.pushuState實(shí)現(xiàn)),然后再利用XMLHttpRequest來對(duì)其進(jìn)行請(qǐng)求訪問。
3. 接下來,它會(huì)使用innerHTML來處理服務(wù)器端的響應(yīng)數(shù)據(jù)。
它首先會(huì)嘗試調(diào)用history.pushState方法,這會(huì)增加一定的攻擊難度,因?yàn)槟銦o法對(duì)一個(gè)跨域的URL使用history.pushState方法。安全專家解釋稱,雖然從理論上來說,history.pushState方法理應(yīng)能夠防范XSS攻擊,但如果網(wǎng)站存在開放重定向漏洞的話,攻擊者依舊有可能利用這種安全漏洞來對(duì)目標(biāo)站點(diǎn)實(shí)施攻擊。
下面是Vela給出的demo【代碼下載】:
http://jquery-mobile-xss.appspot.com/#/redirect?url=http://sirdarckcat.github.io/xss/img-src.html
根據(jù)安全研究專家的描述,目前有很多網(wǎng)站都無法抵御這種類型的攻擊,因?yàn)楹芏嘟M織并不認(rèn)為“開放重定向”是一種安全漏洞,而需要注意的是,像谷歌(/search)、YouTube(/redirect)、Facebook(/l.php)、百度(/link)以及雅虎(/ads/pixel)這樣的熱門網(wǎng)站都存在這種安全漏洞。
壞消息來了
實(shí)際上,這是一個(gè)非常簡(jiǎn)單的漏洞,想要找到這種漏洞其實(shí)也很容易。在Vela確認(rèn)了該漏洞之后,他便立刻將漏洞信息上報(bào)給了jQuery Mobile的開發(fā)團(tuán)隊(duì),但是當(dāng)開發(fā)團(tuán)隊(duì)確認(rèn)了該漏洞將會(huì)給用戶帶來的安全風(fēng)險(xiǎn)之后,Vela卻被告知這個(gè)漏洞不會(huì)得到修復(fù)。
如果修復(fù)了該漏洞的話,目前很多正在運(yùn)行的Web站點(diǎn)和應(yīng)用程序都將會(huì)受到影響,這也是開發(fā)團(tuán)隊(duì)選擇不修復(fù)該漏洞的原因之一。Vela在其發(fā)表的研究報(bào)告【傳送門】中寫到:“jQuery Mobile團(tuán)隊(duì)解釋稱,他們認(rèn)為“開放重定向”是一種安全漏洞,但是jQuery Mobile的這種獲取并呈現(xiàn)URL內(nèi)容的這種行為并不是一種安全缺陷,而且如果要修復(fù)這種所謂的“安全漏洞”,那么將會(huì)使大量目前已上線的Web站點(diǎn)和應(yīng)用程序出現(xiàn)異常,所以他們并不打算做任何的修改。這也就意味著,jQuery Mobile的開發(fā)團(tuán)隊(duì)不會(huì)就這個(gè)問題發(fā)布任何的更新補(bǔ)丁。而這也同樣意味著,所有使用了jQuery Mobile且存在開放重定向的網(wǎng)站都將存在跨站腳本漏洞。”
如果目標(biāo)網(wǎng)站不存在開放重定向漏洞的話,攻擊者是否還可以利用這個(gè)XSS漏洞來實(shí)施攻擊呢?Vela和很多其他的安全研究人員也正在進(jìn)行嘗試,但目前仍未取得成功。
Vela表示:“如果你有時(shí)間的話,你可以在沒有開放重定向漏洞的條件下嘗試去利用這個(gè)XSS漏洞來實(shí)施攻擊,這也是一種研究思路。我試過很多種方法,但目前都還沒有取得成功?!?/p>
總結(jié)
開放重定向(Open Redirect)是非常常見的,但它也同樣會(huì)給網(wǎng)站和應(yīng)用程序帶來巨大的安全風(fēng)險(xiǎn),因此Vela建議安全社區(qū)應(yīng)該修復(fù)“開放重定向”這個(gè)功能中存在的安全問題?;蛘哒f我們應(yīng)該統(tǒng)一思想,然后一起將其視為一種安全漏洞。如果整個(gè)安全行業(yè)在這一點(diǎn)無法達(dá)成一致的話,估計(jì)還有更多的XSS漏洞在等待著我們。
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長(zhǎng)
- 從量子威脅到人工智能防御:2025年網(wǎng)絡(luò)安全將如何發(fā)展
- 后人工智能時(shí)代:2025年,在紛擾中重塑數(shù)據(jù)、洞察和行動(dòng)
- 2025年展望:人工智能推動(dòng)IT整合
- 量子計(jì)算:商業(yè)世界的新前沿與設(shè)計(jì)思維的融合
- IDC:三季度全球以太網(wǎng)交換機(jī)收入同比下降7.9%、環(huán)比增長(zhǎng)6.6%
- Fortinet李宏凱:2025年在中國(guó)大陸啟動(dòng)SASE PoP節(jié)點(diǎn)部署 助力企業(yè)出海
- Fortinet李宏凱:2024年Fortinet全球客戶已超80萬
- 央國(guó)企采購(gòu)管理升級(jí),合合信息旗下啟信慧眼以科技破局難點(diǎn)
- Apache Struts重大漏洞被黑客利用,遠(yuǎn)程代碼執(zhí)行風(fēng)險(xiǎn)加劇
- Crunchbase:2024年AI網(wǎng)絡(luò)安全行業(yè)風(fēng)險(xiǎn)投資超過26億美元
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。