Web Hacking 101 中文版 十赁炎、跨站腳本攻擊(一)

十、跨站腳本攻擊

作者:Peter Yaworski

譯者:飛龍

協(xié)議:CC BY-NC-SA 4.0

描述

跨站腳本意系,或者 XSS泥耀,涉及到站定包含非預(yù)期的 JavaScript 腳本代碼,它隨后傳給用于蛔添,用戶在瀏覽器中執(zhí)行了該代碼痰催。它的一個無害示例為:

alert('XSS');

這會調(diào)用 JavaScript 函數(shù)alert,并創(chuàng)建一個簡單的彈出窗口迎瞧,帶有文本XSS】淙埽現(xiàn)在,在這本書的前一個版本中凶硅,我推薦你在報告中使用這個例子缝裁。但是,一個非常成功的黑客告訴我這是個糟糕的例子足绅,因為漏洞的接收者通常沒有意識到這個問題的嚴重性捷绑,并且可能由于無害的示例而得到較低的獎金。

所以氢妈,考慮到這種情況粹污,使用示例開判斷 XSS 是否存在,但是報告時允懂,考慮漏洞如何影響站點厕怜,并解釋它。通過這樣蕾总,我并不是告訴廠商什么事 XSS粥航,而是解釋你可以使用它做什么事,來影響他們的站點生百。

這應(yīng)該包含識別你報告了何種 XSS递雀,它們包括:

  • 反射型 XSS:這些攻擊并不是持久的,意思是 XSS 傳遞后通過簡單的請求和響應(yīng)執(zhí)行蚀浆。

  • 存儲型 XSS:這些攻擊是持久的缀程,或已保存搜吧,之后在頁面加載時執(zhí)行給無意識的用戶。

  • Self XSS:這些攻擊也不是持久的杨凑,通常作為戲弄用戶的一部分滤奈,使它們自己執(zhí)行 XSS。

當你搜索漏洞時撩满,你會經(jīng)常發(fā)現(xiàn)蜒程,廠商不關(guān)心 Self XSS,它們只關(guān)心伺帘,它們的用戶是否自身存在缺陷昭躺,就像反射和存儲 XSS 的例子那樣。但是伪嫁,這并不是說领炫,你應(yīng)該完全忽略 Self XSS。

如果你發(fā)現(xiàn)了一個場景张咳,其中 Self XSS 可以執(zhí)行帝洪,但是不會存儲,你需要考慮該漏洞是否可以利用晶伦,是否有些東西可以結(jié)合起來碟狞,使其不再是 Self XSS?

最著名的 XSS 利用示例之一婚陪,就是 Samy Kamkar 執(zhí)行的 MySpace Samy 蠕蟲。在 2005 年 10 月频祝,Samy 利用了一個 MySpace 上的存儲型 XSS 漏洞泌参,允許它上傳 JavaScript 腳本。這個代碼隨后在任何人瀏覽它的 MySpace 主頁時執(zhí)行常空,因此使任何 Samy 用戶資料的瀏覽者成為其好友沽一。但是,更多的是漓糙,這個代碼也復(fù)制其自身到 Samy 新朋友的頁面铣缠,所以受感染頁面的瀏覽者使用下面這段話更新了它們的資料頁面:“but most of all, samy is my hero”(最重要的是,Samy 是我的英雄)昆禽。

雖然 Samy 的利用并不完全是惡意的蝗蛙,XSS 利用使其能夠盜取用戶、密碼醉鳖、銀行信息以及其他捡硅。雖然具有潛在的影響,修復(fù) XSS 漏洞通常很簡單盗棵,只需要軟件開發(fā)者在渲染時轉(zhuǎn)義用戶輸入(就像 HTML 注入那樣)壮韭。在攻擊者提交它們的時候北发,一些站點也會截斷可能的惡意字符。

鏈接

查看 OWASP XSS 過濾器繞過速查表喷屋。

示例

1. Shopify Wholesale

難度:低

URL:wholesale.shopify.com

報告鏈接:https://hackerone.com/reports/106293

報告日期:2015.12.21

獎金:$500

描述:

Shopify Wholesale 站點是一個簡單的頁面琳拨,擁有不同的操作調(diào)用 -- 輸入商品名稱并且點擊“搜索商品”,這里是截圖:

Shopify Wholesale 站點截圖

這里的 XSS 漏洞是你可以找到的最基本的漏洞 - 輸入到搜索框中的文本并沒有轉(zhuǎn)移屯曹,所以任何輸入的 JavaScript 都會執(zhí)行狱庇。這里是漏洞披露中的提交文本:test’;alert(‘XSS’);’

它生效的原因是是牢,Shopify 接收用戶輸入僵井,執(zhí)行搜索查詢,當沒有結(jié)果返回時驳棱,Shopify 會打印一條消息批什,說該名稱下沒有找到任何商品,之后重新打印出用戶輸入社搅,而沒有任何轉(zhuǎn)義驻债。因此,提交的 JavaScript 打印到了頁面上形葬,瀏覽器將其解釋為 JavaScript 并執(zhí)行合呐。

重要結(jié)論

測試任何東西,特別要關(guān)注一些場景笙以,其中你所輸入的文本渲染給了你淌实。測試來判斷你是否可以包含 HTML 或者 JavaScript,來觀察站點如何處理它猖腕。同時嘗試編碼輸入拆祈,就像在 HTML 注入一章中描述的那樣。

XSS 漏洞并不需要很復(fù)雜倘感。這個漏洞是你能找到的最基本的東西 - 一個簡單的輸入文本字段放坏,這個漏洞并不處理用戶輸入。它在 2015 年 12 月 21 日發(fā)現(xiàn)老玛,并獲得了 $500 的獎金淤年。它所需要的所有東西,就是黑客的思維蜡豹。

2. Shopify 禮品卡購物車

難度:低

URL:hardware.shopify.com/cart

報告鏈接:https://hackerone.com/reports/95089

報告日期:2015.10.21

獎金:$500

描述:

Shopify 禮品卡站點允許用戶使用 HTML 表單設(shè)計它們自己的禮品卡麸粮,具體來說,這包括一個上傳輸入框余素,一些文本框豹休,以及其他。這里是一個截圖:

Shopify 禮品卡表單截圖

這里的 XSS 漏洞在 JavaScript 輸入到了表單圖像名稱字段時出現(xiàn)桨吊。在使用 HTML 代理完成之后威根,會出現(xiàn)一個不錯的簡單任務(wù)凤巨。所以這里,原始的表單提交會包含:

Content-Disposition: form-data; name="properties[Artwork file]"

這會被解釋和修改為:

Content-Disposition: form-data; name="properties[Artwork file![](test)]";

重要結(jié)論

這里有兩個東西要注意洛搀,這會在尋找 XSS 漏洞時幫助你:

  1. 這里的漏洞實際上并不在文件輸入字段本身 -- 它在字段的名稱屬性中敢茁。所以當你尋找 XSS 漏洞的機會時,要記住玩轉(zhuǎn)所有可用的輸入值留美。
  1. 這里的值在通過代理操作之后提交彰檬。在一些場景中這是關(guān)鍵,其中在任何值實際提交給服務(wù)器之前谎砾,客戶端(你的瀏覽器)可能存在 JavaScript 來驗證值逢倍。

實際上,任何時候你看到驗證實時發(fā)生在你的瀏覽器中景图,這都是一個信號较雕,你需要測試這個字段!開發(fā)者可能犯下這個錯誤挚币,一旦這些值提交給了服務(wù)器亮蒋,它們不驗證提交的值是否存在惡意代碼,因為它們認為瀏覽器的 JavaScript 代碼已經(jīng)在輸入接收之前驗證過了妆毕。

3. Shopify 貨幣格式

難度:低

URL:SITE.myshopify.com/admin/settings/generalt

報告鏈接:https://hackerone.com/reports/104359

報告日期:2015.12.9

獎金:$1000

描述:

Shopify 的商店設(shè)置包含修改貨幣格式的功能慎玖。在 12 月 9 日,有報告稱笛粘,這些輸入框的值在建立社交媒體頁面時趁怔,沒有合理處理。

換句話說薪前,惡意用戶可以建立一個商店痕钢,并將貨幣設(shè)置修改為下面這個:

Shopify 貨幣格式截圖

之后,用戶就可以開啟社交媒體售賣頻道序六。報告中的例子是 Fackbook 和 Twitter,以及當用戶點擊這個售賣頻道的選項卡之后蚤吹,JavaScript 會執(zhí)行例诀,產(chǎn)生 XSS 漏洞。

重要結(jié)論

XSS 漏洞在 JavaScript 文本不安全渲染時產(chǎn)生裁着。文本可能用于站點的多個位置繁涂,所以每個位置都應(yīng)該測試。這里二驰,Shopify 并沒有在商店和收款頁面包含 XSS扔罪,因為用戶允許在它們的商店中使用 JavaScript。在考慮字段是否用于外部社交媒體站點之前桶雀,很容易把這個漏洞補上矿酵。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末唬复,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子全肮,更是在濱河造成了極大的恐慌敞咧,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辜腺,死亡現(xiàn)場離奇詭異休建,居然都是意外死亡,警方通過查閱死者的電腦和手機评疗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門测砂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人百匆,你說我怎么就攤上這事砌些。” “怎么了胧华?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵寄症,是天一觀的道長。 經(jīng)常有香客問我矩动,道長有巧,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任悲没,我火速辦了婚禮篮迎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘示姿。我一直安慰自己甜橱,他們只是感情好,可當我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布栈戳。 她就那樣靜靜地躺著岂傲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪子檀。 梳的紋絲不亂的頭發(fā)上镊掖,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天,我揣著相機與錄音褂痰,去河邊找鬼亩进。 笑死,一個胖子當著我的面吹牛缩歪,可吹牛的內(nèi)容都是我干的归薛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼主籍!你這毒婦竟也來了习贫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤崇猫,失蹤者是張志新(化名)和其女友劉穎沈条,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诅炉,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡蜡歹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了涕烧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片月而。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖议纯,靈堂內(nèi)的尸體忽然破棺而出父款,到底是詐尸還是另有隱情,我是刑警寧澤瞻凤,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布憨攒,位于F島的核電站,受9級特大地震影響阀参,放射性物質(zhì)發(fā)生泄漏肝集。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一蛛壳、第九天 我趴在偏房一處隱蔽的房頂上張望杏瞻。 院中可真熱鬧,春花似錦衙荐、人聲如沸捞挥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砌函。三九已至,卻和暖如春溜族,著一層夾襖步出監(jiān)牢的瞬間胸嘴,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工斩祭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乡话。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓摧玫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子诬像,可洞房花燭夜當晚...
    茶點故事閱讀 44,665評論 2 354

推薦閱讀更多精彩內(nèi)容