挖洞經驗 | 從Self XSS到有趣的存儲型XSS

收藏待读

挖洞經驗 | 從Self XSS到有趣的存儲型XSS

這是我的第一個bug bounty的writeup,大佬別噴我,只是新手文章。

我在Hackerone的一個程序中找到了這個XSS,關於這個存儲型XSS的有趣之處在於它反映了我找到了從self XSS升級到存儲型XSS的方式。此外,我不能透露出漏洞程序名稱,因為他們要求不能泄露。但如果你發現了它,我也不會感到驚訝。那麼讓我們來看看這個網站,我們稱之為redacted.com。

雖然停留在redacted.com上幾個小時了,我在試圖找出它存在的XSS漏洞,最後,我認為在這個網站上獲取XSS是不可能的,因為它正確編碼了所有內容。即使我找到一個,它也會成為Self XSS。

這不是一個大型網站,在每個端點都嘗試尋找XSS後,最後我放棄了,決定繼續尋找其他漏洞。

所以第二天,當我在hackone上的AngularJS讀到關於 模板注入 的報告,我就想,會不會有思路呢?事實證明,redacted.com也是運行AngularJS的。

所以我嘗試了一個簡單的表達式,如{{4 * 4}},如果沒有編碼將輸出16,最終也找到了一個不編碼的輸出點。現在我可以為XSS提供此payload{{constructor.constructor(』alert(「XSS」)』)()}}。

好極了!!!我發現了XSS,一分鐘後意識到…… MD,這是一個self xss!

挖洞經驗 | 從Self XSS到有趣的存儲型XSS

現在怎麼辦????

因此,經過幾個小時的搜索,我找到了一個有趣的地方,它可以執行,且不需要任何身份驗證。

為了提供有關此應用程序的背景信息,它具有通過電子郵件發送報告的功能(無論此網站做什麼),我們也可以為報告提供自定義名稱。這些報告是敏感的,只能由經過身份驗證的用戶查看。我發現的Self XSS是在本報告的名稱中,由於報告只能由經過身份驗證的用戶查看,因此無法在其他用戶上執行。真的嗎???

所以我使用了這個功能,並通過電子郵件將報告發送到我的郵箱,卻發現了一個小小的取消訂閱的鏈接隱藏在角落裡。

挖洞經驗 | 從Self XSS到有趣的存儲型XSS 打開它後!它顯示了報告名稱,沒有任何身份驗證。

挖洞經驗 | 從Self XSS到有趣的存儲型XSS

是時候測試它是否編碼了大括號{{}}了

所以我快速進入我的報告頁面,將名稱命名為{{constructor.constructor(』alert(「XSS」)』)()}} 並保存。打開那個再取消訂閱鏈接後!發現這是存儲型XSS。

挖洞經驗 | 從Self XSS到有趣的存儲型XSS

現在當任何人打開取消訂閱鏈接時,XSS將被執行。無論受害者是否經過身份驗證,這都適用於任何人。

能學到的知識:

1)查看應用程序上正在運行的技術並找到特定於它們的漏洞。
2)在自己感到無聊時閱讀已經披露的舊hackerone報告。
3)在應用程序的嘗試中更加努力 – 我閱讀的報告和文章很多但從未遇到過能在電子郵件取消訂閱鏈接中獲得XSS的人。我本來可以報告self XSS並最終獲得漏洞確認信息,但我給了自己更多的時間去深入挖掘並且最後很幸運地提升了漏洞等級。

時間線:

09/10/2018 – 提交報告
10/10/2018 - 審核
11/10/2018 – 獎勵
22/10/2018 – 已修復

謝謝閱讀。

*參考鏈接:nahoragg,由生如夏花編譯,轉載請註明來自FreeBuf.COM

原文 : FreeBuf

相關閱讀

免责声明:本文内容来源于FreeBuf,已注明原文出处和链接,文章观点不代表立场,如若侵犯到您的权益,或涉不实谣言,敬请向我们提出检举。