| <script> |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.dumpChildFramesAsText(); |
| testRunner.waitUntilDone(); |
| } |
| var o = Object; |
| function finish() |
| { |
| if (Object.getOwnPropertyDescriptor(this, "Object").value === o) |
| document.getElementById("console").innerHTML += "PASS: cross-site assignment of Object constructor not allowed<br/>"; |
| else |
| document.getElementById("console").innerHTML += "FAIL: cross-site assignment of Object constructor was allowed!<br/>"; |
| |
| if (Object.getOwnPropertyDescriptor(this, "newProperty") === undefined) |
| document.getElementById("console").innerHTML += "PASS: cross-site assignment of new property not allowed<br/>"; |
| else |
| document.getElementById("console").innerHTML += "FAIL: cross-site assignment of new property was allowed!<br/>"; |
| |
| if (location.hash.length == 0) |
| document.getElementById("console").innerHTML += "PASS: cross-site assignment of location.hash not allowed<br/>"; |
| else |
| document.getElementById("console").innerHTML += "FAIL: cross-site assignment of location.hash was allowed!<br/>"; |
| |
| if (location.search.length == 0) |
| document.getElementById("console").innerHTML += "PASS: cross-site assignment of location.search not allowed<br/>"; |
| else |
| document.getElementById("console").innerHTML += "FAIL: cross-site assignment of location.search was allowed!<br/>"; |
| |
| if (!("newProperty" in location)) |
| document.getElementById("console").innerHTML += "PASS: cross-site assignment of location.newProperty not allowed<br/>"; |
| else |
| document.getElementById("console").innerHTML += "FAIL: cross-site assignment of location.newProperty was allowed!<br/>"; |
| |
| if (location.reload != "hax0red") |
| document.getElementById("console").innerHTML += "PASS: cross-site assignment of location.reload not allowed<br/>"; |
| else |
| document.getElementById("console").innerHTML += "FAIL: cross-site assignment of location.reload was allowed!<br/>"; |
| |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| </script> |
| |
| <body onload="finish()"> |
| <iframe width=70% height=300 src="http://localhost:8000/security/resources/xss-DENIED-defineProperty-attacker.html"></iframe> |
| <div id="console"></div> |
| </body> |
| </html> |