Broken Browser
  • Menu ▾
    • Browser Workshop
    • Musings
    • About
  • Browser Workshop
  • Musings
  • About

DoS: IE8 Crashes When Viewing Properties After Prototype Modification

2008-09-01 :: browser-workshop :: dos

A straightforward crash: if any JavaScript prototype was modified — even just adding an arbitrary property like HTMLDivElement.prototype.ANYTHING = 777 — and then the browser's Properties dialog was...

[Read more]

IE8 Compatibility View Redirect Address Bar Spoof

2008-08-22 :: browser-workshop :: address-bar-spoof

IE8 introduced a "Compatibility View" button in the address bar. I found that when this button was clicked on a page that then performed a redirect to a page without a Content-Type header or DOCTYPE,...

[Read more]

IE8 XSS Filter Bypass via Nested IFRAMEs

2008-08-21 :: browser-workshop :: misc

IE8 introduced a built-in XSS filter that was supposed to detect reflected XSS attempts and neutralize them. After playing around for a while, I found a bypass: if the XSS payload was delivered not...

[Read more]

IE8 url:file:// Patch Bypass with Extra Characters

2008-08-19 :: browser-workshop :: misc

After the url:file:/// trick was patched in an earlier fix, I tried some simple variations to see whether the fix was complete. It turned out that inserting any extra characters between url and the...

[Read more]

Silverlight 2 Beta Security Research

2008-08-01 :: browser-workshop :: misc

This folder contains research materials from a Silverlight 2 Beta security review, including a detailed penetration testing document (Silverlight PenTest.docx) and four proof-of-concept archives...

[Read more]

IE8 Resident Script via Cached execScript and htmlFile

2008-07-10 :: browser-workshop :: resident

This was a variation of the resident script technique adapted for IE8, where the previous iframe-based approaches had been patched. After playing around for a while, I found that you could cache the...

[Read more]

6on6: A Personal Browser Security Issue Tracker

2008-07-08 :: browser-workshop :: misc

The 6on6 folder was a small personal tool — an HTML page backed by an #default#homePage behavior and userData persistence — that I used to track and quickly test browser security issues. The...

[Read more]

postMessage Security Research Notes

2008-06-28 :: browser-workshop :: misc

This folder contains a research document (postMessage penTest.docx) covering security considerations around the window.postMessage API, which was relatively new at the time. The notes explored...

[Read more]

XMLHttpRequest Security Quirks: about:blank, Multiple Redirects, and responseXML Lifetime

2008-06-25 :: browser-workshop :: misc

Three separate XHR oddities I found while exploring how Internet Explorer's Microsoft.XMLHTTP ActiveX object handled unusual situations. None of them alone was a dramatic vulnerability, but together...

[Read more]

XSS in a Banking Application

2008-06-10 :: browser-workshop :: misc

This folder contains a proof-of-concept for a cross-site scripting vulnerability found in a banking application. The details are archived in XSS_BOA.zip. The finding was part of broader research into...

[Read more]

XAML Frame + url:file:// Combo for Local Zone Code Execution

2008-06-09 :: browser-workshop :: misc

This was a combination of two separate issues working together. First: IE accepted url:file:// as a valid iframe source, which loaded local files into an iframe from an internet-zone page. Second: a...

[Read more]

Safari Resident Script: onunload Navigation Interception and Banner Hijacking

2008-05-13 :: browser-workshop :: resident

After the IE resident script work, I was curious whether the same class of issues appeared in Safari. It turned out that Safari had its own onunload quirk: during the unload event, you could call...

[Read more]

BlueHat Demos: Resident Scripts, Banner Hijacking, UXSS, and Ghost

2008-04-29 :: browser-workshop :: resident

These are the proof-of-concept files I prepared for a BlueHat presentation. They cover four related techniques built around the idea of a "resident script" — JavaScript that survives a full page...

[Read more]

Kevin's XML Resident Script POC

2008-04-28 :: browser-workshop :: resident

This folder contains evidence of a resident script technique discovered independently around the same time, using XML as the persistence vector rather than the HTML/iframe approach explored in other...

[Read more]

Popup Bypass Using WMP

2008-04-15 :: browser-workshop :: popup-bypass

The Windows Media Player ActiveX control exposed a launchURL method that could open a new browser window without triggering the pop-up blocker. The method was intended to let the media player open...

[Read more]

IE7 Resident - opener, createElement, OBJECT

2008-04-14 :: browser-workshop :: resident

A very clean residency technique: creating an OBJECT TYPE="text/html" element via document.createElement and storing it in window.opener keeps the referenced document alive and running after the page...

[Read more]

DoS: Silverlight Crash via Enumerator on userControl

2008-02-26 :: browser-workshop :: dos

Another brief one from the same Silverlight testing session. Passing the userControl object from the onLoad event into IE's Enumerator constructor would crash the browser immediately. The crash was...

[Read more]

Popup Blocker Bypass via Silverlight's Delayed HtmlPage.Window.Eval

2008-02-26 :: browser-workshop :: misc

This one surprised me. IE's popup blocker is supposed to block window.open() calls that don't originate from a direct user gesture. The expectation is that a setTimeout delay breaks that link. What I...

[Read more]

DoS: Silverlight Crash via innerHTML on Its Container

2008-02-22 :: browser-workshop :: dos

A short one. If you repeatedly overwrite the innerHTML of the <div> that contains a Silverlight control, IE would crash. The Silverlight object didn't even need to have a source — an empty control...

[Read more]

UXSS via Silverlight onLoad Argument Bypassing Cross-Origin Check

2008-02-22 :: browser-workshop :: uxss

I was lucky to find this one while testing Silverlight 2.0 Beta. The normal way to access a Silverlight control's XAML DOM from JavaScript is through...

[Read more]

Flash Loading a Remote SWF Without User Interaction

2007-12-05 :: browser-workshop :: misc

After playing around for a while with Flash's allowScriptAccess and allowFullScreen parameters, I came across a way to have a Flash object load and interact with a remote SWF file on a different...

[Read more]

ExecWB IDM_PRINTPREVIEW Opens a Door to Many Tricks

2007-11-09 :: browser-workshop :: misc

I was lucky to find this one. While poking at IE's ExecWB method, I discovered that when you call it with the IDM_PRINTPREVIEW command on an iframe, the third parameter — normally a printer name — is...

[Read more]

XAML Frame + Hacked PDF = Pseudo Local Machine Zone

2007-11-02 :: browser-workshop :: misc

After playing around for a while with XAML's <Frame> element and some earlier PDF work, I noticed that loading an HTML page inside a XAML Frame seemed to inherit a surprisingly elevated security...

[Read more]

PDF Plugin: Loading Local Files via file:// Protocol Link

2007-10-31 :: browser-workshop :: info-disclosure

I was looking at how Adobe Acrobat Reader handled links embedded in PDF files when the PDF was loaded inside an IE iframe. I found that a PDF crafted with an internal link pointing to a file:/// URL...

[Read more]

UXSS Simplification (WOOBR 977211): Cached SWF Document Without Reload

2007-10-24 :: browser-workshop :: uxss

Earlier UXSS variants using cached iframe documents required reloading the main page and using window.opener as the storage mechanism. I was looking for a simpler version and found one: by caching...

[Read more]

Vista RCE via XAML Frame + ExecWB PrintPreview

2007-10-23 :: browser-workshop :: eop-rce

This one surprised me. By combining two techniques — loading HTML inside a XAML <Frame> element, and then using the ExecWB IDM_PRINTPREVIEW trick to open a privileged modal — it became possible to...

[Read more]

DoS: IE7 Crash via Cached SWF Document and res:// Protocol Navigation

2007-10-18 :: browser-workshop :: dos

I was applying the cached-Document technique to IE's internal res:// protocol URLs — specifically res://ieframe.dll/dnserror.htm, the DNS error page. After caching the Document of an SWF-loaded...

[Read more]

IE7: Infinite Window Spawning via Cached SWF Document and res:// Hash

2007-10-18 :: browser-workshop :: misc

On the same day as the res:// crash, I was experimenting with what happened when you appended a # fragment to the same res://ieframe.dll/dnserror.htm URL in the cached-document navigation. Instead of...

[Read more]

XAML Frame: Loading Local Images via file:// Protocol

2007-10-12 :: browser-workshop :: misc

Continuing the investigation of what XAML Frame pages could access that standard Internet Zone pages could not, I found that <img> tags with file:/// URLs loaded successfully inside a XAML Frame. A...

[Read more]

XAML Frame: Checking Local File Existence via Script Tag src

2007-10-09 :: browser-workshop :: info-disclosure

I was looking at what local file access XAML Frame pages had compared to standard Internet Zone HTML pages. I found that inside a XAML Frame, you could set the src of a <script> element to a local...

[Read more]

XAML Frame Bypasses IE7 window.prompt Gold Bar Restriction

2007-10-08 :: browser-workshop :: misc

IE7 introduced a security enhancement that blocked window.prompt in the Internet Zone and replaced it with the gold Information Bar, specifically to prevent phishing sites from mimicking login...

[Read more]

UXSS (SOP Bypass Attempt): IE 5.5 document.URL Set to about: Script

2007-10-04 :: browser-workshop :: uxss

I was exploring a subtle difference between location.href = "about:blank" and document.URL = "about:blank" when called from inside an iframe. They behave differently in terms of which security domain...

[Read more]

UXSS via XAML Frame: document.URL about: Script Injection

2007-10-04 :: browser-workshop :: uxss

While exploring the document.URL = "about:..." quirk from the IE 5.5 research, I found that XAML <Frame> elements in IE behaved differently from ordinary HTML iframes. Inside a XAML Frame, the about:...

[Read more]

MSRC 7571 Variation: Another Method to Run Remote Files

2007-09-26 :: browser-workshop :: misc

While working on MSRC case 7571 — which involved using a vulnerable launchurl method to run local executables — I found a variation that went further: it was possible to use the same technique to...

[Read more]

DoS: createPopup Chain with Windows Media Player innerHTML

2007-09-24 :: browser-workshop :: dos

I was exploring unusual combinations of IE-specific APIs and found that creating a createPopup() from inside another createPopup()'s parentWindow, and then setting the inner popup's innerHTML to...

[Read more]

UXSS: IE7 + Flash 9 getURL GET Method Allows Cross-Origin Script Injection

2007-09-17 :: browser-workshop :: uxss

I had previously reported a UXSS using Flash's getURL with the POST method. When Flash 9 shipped, I checked whether the GET method variant — which had been fixed in Flash 6 through 8 — was still...

[Read more]

UXSS Using Flash getURL POST Method

2007-09-17 :: browser-workshop :: uxss

This one surprised me. I noticed that Flash's getURL() function, when called with the "POST" method and a javascript: URL as the target, could execute script inside an IFRAME on a different domain....

[Read more]

Flash Plugin: Checking Whether a Local File Exists via readyState

2007-09-11 :: browser-workshop :: info-disclosure

After finding the Office XP ActiveX file-existence check, I wondered whether the Flash plugin had a similar observable side channel. It did. By setting the Movie property of a Flash <object> element...

[Read more]

IE6: Checking Whether a Local File Exists via Dashboard ActiveX

2007-09-07 :: browser-workshop :: info-disclosure

I was looking at ActiveX controls that were marked safe for scripting but had interesting side channels. The MSDDSC.DDSC Dashboard Components control (installed with Office XP) exposed an Export...

[Read more]

URL Spoofing via onbeforeunload — Vista-Compatible Variant

2007-08-31 :: browser-workshop :: address-bar-spoof

The XP-only URL spoof using onbeforeunload and history.go(0) stopped working on Windows Vista. After some digging, I found a small adjustment that restored the behavior on Vista: instead of calling...

[Read more]

URL Spoofing via onbeforeunload and history.go(0)

2007-08-30 :: browser-workshop :: address-bar-spoof

I was looking at address bar spoofing scenarios and found that combining window.onbeforeunload with history.go(0) produced a clean URL spoof on Windows XP. When a user typed a new URL and pressed...

[Read more]

Resident Script via Cached execScript from an Iframe

2007-07-16 :: browser-workshop :: resident

I was curious whether caching execScript — the IE-specific method for running code in a window's context — from an iframe would survive a page reload in the same way that window.open had. It did. By...

[Read more]

UXSS Variation: Cached window.open with setCapture Across All Pages

2007-05-11 :: browser-workshop :: uxss

The day after finding the resident cached window.open technique, I started thinking about combining it with a setCapture trick from an earlier UXSS case. The result was something a bit more...

[Read more]

Resident Script via Cached window.open from an Iframe

2007-05-10 :: browser-workshop :: resident

I was looking at what happened when you cached method references from iframe contexts rather than document objects. It turned out that grabbing the window.open method from an iframe and stashing it...

[Read more]

DoS - Frozen IE - userControl Run Two Forms

2007-05-09 :: browser-workshop :: dos

This doesn't crash IE — it freezes it completely. The browser stops responding to input, can't be minimized, maximized, or closed, and disappears from the Alt+Tab list. It's alive but halted,...

[Read more]

DoS: Cached Non-HTML Document Reloaded Twice

2007-05-02 :: browser-workshop :: dos

The day after finding the UXSS variant using a cached iframe Document, I was curious what would happen if you navigated the same stale reference a second time in quick succession. It turned out that...

[Read more]

UXSS via Cached Non-HTML Document and Page Reload

2007-05-01 :: browser-workshop :: uxss

I was playing around with how IE handled the Document object of iframes loaded with non-HTML content — things like SWF, MHT, or XAML files. After some persistence, I found that caching that Document...

[Read more]

DoS - IE7 Close Browser via Enumerator Application

2007-04-30 :: browser-workshop :: dos

Passing the Application property of an IFRAME to the Enumerator constructor closes the entire browser — all tabs, no prompts — on IE7. The Application object is the top-level IWebBrowser2 interface,...

[Read more]

UXSS - Cached contentWindow frameElement

2007-04-27 :: browser-workshop :: uxss

Another entry in the frameElement UXSS collection, but this one uses pure HTML — no Flash, XAML, or XML. The trick is to cache an IFRAME's contentWindow, then destroy the IFRAME with outerHTML, and...

[Read more]

UXSS - HTC setCapture Variation - Case 6445

2007-04-25 :: browser-workshop :: uxss

Another variation of the setCapture() UXSS (originally case #6445). The original used setCapture() on the top window; the first variation used it inside a same-domain IFRAME. This one moves the...

[Read more]
Page 9 of 11
← Newer 1234567891011 Older →
© 2026 Broken Browser