tl;dr: window.name, DOM XSS & abusing Objects used as containers
What's in a name?
"What's in a name? That which we call a rose
By any other name would smell as sweet"
(Romeo & Juliet, Act II, Scene 2)
(Romeo & Juliet, Act II, Scene 2)
Since name is special for Same Origin Policy, it must have some evil usage, right? Right - the cutest one is that eval(name)is the shortest XSS payload loader so far:
- create a window/frame
- put the payload in it's name
- just load http://vuln/?xss="><script>eval(name)</script>.