背景
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,最终实现结果如下: