Tests for UXSS with window.open()

Main page

These tests make sense if native UIWebView's window.open() is overridden and if cross-tab document.write is supported.

Test case: UXSS attempt against http://www.example.com (immediate)

This test case calls window.open("http://www.example.com") and tries to execute JavaScript there.

JavaScript should write location.href value in the new tab's content (ignore address bar for this test case).

Test case: UXSS attempt against http://www.example.com (delayed)

This test case calls window.open("http://www.example.com") and tries to execute JavaScript there after 5s delay.

JavaScript should write location.href value in the new tab's content after 5s delay (ignore address bar for this test case).

Test case: UXSS attempt against http://www.example.com (redirected from about:blank)

This test case calls window.open("about:blank"), redirects the child window to www.example.com and tries to execute JavaScript there.

JavaScript should write location.href value in the new tab's content after 5s delay (ignore address bar for this test case).

Test case: UXSS attempt against http://www.example.com (redirected from redirect.html)

This test case calls window.open("redirect.html"), redirects the child window to www.example.com and tries to execute JavaScript there.

JavaScript should write location.href value in the new tab's content after 5s delay (ignore address bar for this test case).

Test case: UXSS attempt against http://www.example.com (redirected from location.href)

This test case calls window.open(location.href), redirects the child window to www.example.com and tries to execute JavaScript there.

JavaScript should write location.href value in the new tab's content after 5s delay (ignore address bar for this test case).

Test case: document.write to http://a%5c (immediate)

This test case calls window.open("http://a%5c") and tries to execute JavaScript there.

JavaScript should write location.href value in the new tab's content (ignore address bar for this test case).

When finished, continue to tests for address bar spoofing with window.open()