在這篇文章中,我將討論 Microsoft Forms 中反射式跨站點腳本 (XSS) 漏洞的詳細信息。

背景:

Microsoft Forms 是一種流行的基于 Web 的工具,用于創建調查、測驗和其他表單。它允許用戶創建表單和調查,與他人共享,并在集中位置收集響應。但是,我們發現可以將惡意JavaScript代碼注入表單中,這些代碼可以由毫無戒心的用戶執行。

我遵循了 MSRC 報告漏洞的準則并提交了我的發現。欲了解更多信息,請參閱:

向 MSRC 提交報告的示例 https://www.microsoft.com/en-us/msrc/bounty-example-report-submission微軟賞金計劃 |微軟公司 https://www.microsoft.com/en-us/msrc/bounty?rtc=1常見問題解答 — 報告問題和提交指南 (microsoft.com) https://www.microsoft.com/en-us/msrc/faqs-report-an-issue?rtc=1

漏洞的詳細信息:

該漏洞存在于Microsoft Forms處理用戶輸入的方式中。具體而言,它無法正確驗證用戶輸入,從而允許攻擊者將惡意 JavaScript 代碼注入 id 參數。攻擊者可以使用注入的 XSS 有效負載生成惡意鏈接,他們可以利用此漏洞接管經過身份驗證的帳戶或對應用程序中經過身份驗證的用戶會話執行狀態更改操作,甚至使用易受攻擊的域制作網絡釣魚頁面等。

易受攻擊的產品:Microsoft Forms

易受攻擊的網址:https://forms.office.com/pages/responsepage.aspx

易受攻擊的參數:id

反射型 XSS(跨站點腳本)是一種 Web 漏洞,允許攻擊者將惡意代碼注入網站,然后由受害者的瀏覽器執行。當網站在其頁面中包含不受信任的用戶輸入而沒有進行適當的驗證或編碼時,就會發生這種情況。攻擊者制作一個特殊的鏈接或表單,當受害者點擊或提交時,會導致受害者的瀏覽器執行惡意代碼。受害者的瀏覽器被誘騙認為代碼是網站的一部分,允許攻擊者竊取敏感信息或執行其他惡意操作

開發:

要利用此漏洞,攻擊者需要創建包含惡意 JavaScript 代碼的特制鏈接。然后,攻擊者需要誘使用戶單擊鏈接,這將導致代碼被執行。這可以通過社會工程策略來完成,例如網絡釣魚電子郵件或即時消息。

漏洞驗證:

下面是演示漏洞的概念證明示例:

  1. 1. 訪問網址:
https://forms.office.com/Pages/ResponsePage.aspx
  1. 2. 將 XSS payload注入參數值,并添加到步驟 1 中易受攻擊的 URL,id

payload已使用:

d1bvs%3c%2fscript%3e%3cscript%3ealert(`XSS`)%3c%2fscript%3ec579g

示例注入鏈接:

https://forms.office.com/pages/responsepage.aspx?id=d1bvs%3c%2fscript%3e%3cscript%3ealert(`XSS`)%3c%2fscript%3ec579g
  1. 3. 在步驟 2 中打開 URL。
  2. 4. 當用戶打開 XSS 注入鏈接時,XSS 有效負載將被觸發并執行,如下所示。
  3. 視頻演示:https://youtu.be/pjbaZYEYQV8

披露時間表

2022 年9月27日 — 通過 MSRC 門戶發現并報告漏洞。

2022年9月29日 — MSRC 團隊確認。MSRC 票證已移至審閱/重現。

2022年10月4日 — 授予賞金,MSRC 案例狀態從“審閱/重現”更改為“開發”

2022年10月21日 — MSRC 狀態已更改為“預發布和完成”。

2023年1月22日 — 公開發布安全公告。