背景
DOM型XSS(跨站腳本)漏洞一般較難于發現,本文中作者使用Dominator來發現并利用一個諾基亞(Nokia)OVI官網的DOM XSS,這讓我想起了二哥的那個神器:)
簡述
去年,作者發現并報告了一個 http://store.ovi.com/ 的高危DOM XSS,http://store.ovi.com/ 使用了H5的CORS來獲取網頁資源并渲染 DOM ,所以,它的 URL 一般都是下面這種形式:
http://store.ovi.com/#/applications?categoryId=14
DIV 中的資源都是通過 location.hash 指定的,作者用 Dominator 跑了一下,發現了如下結果:
上圖顯示找到一個可控點:location.hash,并且是通過XMLHR.open來加載資源的,把剛才的地址用chrome打開,發現console輸出如下:
重新加載如下 URL:
http://store.ovi.com/#/jasminder
Dominator 顯示如下:
作者想看看能不能加載第三方網站的資源,就把自己的網站加載location.hash的位置,并發起請求,結果如下:
發起的請求實際如下,請求并沒有發送到作者自己的網站上
http://store.ovi.com/jasminderapalsingh.info?fragment=1
但是后來作者發現如果在 chrome 下面發起如下請求:
http://store.ovi.com/#/jasminderapalsingh.info
就會發現瀏覽器發起的請求如下:
上圖說明,可以通過這種方式給第三方host發起請求并加載第三方 host 的數據,就這樣,作者在自己的網站放了payload,最終實現結果如下: