HTML Frames Considered Harmful
DLWormwood writes "Secunia has recently issued yet another advisory about web browser vulnerabilities, this time concerning the use of frames in web pages. Originally discovered to be in Internet Explorer, the security experts apparently worked overtime just to make sure the same "flaw" is found in just about every other browser out there. Doesn't this notice simply complain about a specified design feature of frames? (Note their official "advice": "Do not visit or follow links from untrusted websites.")"
Since when was this news?!
Frames are evil. Frames supposedly make the webdesigners job easier, but they cause an increased maintenance overhead. Frames supposedly creates a better interface to a website for the end-user, but they cause severe usability problems.
Its common to see frames abused by newbies in implementing a left-hand menu and top banner layout with the mistaken belief its easier to maintain and makes downloading quicker. There are numerous problems this implementation raises typically related to the paradox it creates.
To make-up for the usability deficiencies, many framed websites use some client-side techniques which cause further maintenance nightmares. There is a definite usability versus maintenance trade-off with frames, which make it a difficult technology to manage well. The alternatives available have none of these drawbacks, thus frames are a sub-optimal, and typically backward solution.
Most of this "usability"-hacking of framed websites results in a complete dependancy on Javascript - another evil. Considering the on-going problems related to Windows lax security model (in the OS, Outlook and Internet Explorer) and the exponential growth of scripted worms and viruses (Melissa, Love Bug, Kornikova, SirCam, Code Red, Code Red II, Code Blue, Nimda), this convinces a greater number of surfers switching off Javascript entirely, which in turn causes a framed and scripted site to die a rather horrible death in the browser.
I clicked "Vulnerabilities" in Secunia's menu frame and now the site won't come up... Which is the greater danger, frames or the slashdot effect?
Really, it sucks that there's no visual association between child and parent windows (like a string attaching them, or something). If a dialog comes up from a Javascript, how are you to know what frame it belongs to?
The idea up throwing up dialogs really predates the need to provide a trusted interface to the user.
May we never see th
It seems to me that the whole premise behind this so-called vulnerability is wrong. Frames and windows don't have owners, so there's nothing for the browser to verify.
So yeah, I think the "a specified design feature of frames" thing is pretty close to the truth.
I write in my journal
My IT professors beat into my brain that all formatting that even remotely resembles frames should be done with CSS(Cascading Style Sheets) positioning.
"I only speak the truth"
Karma: null(Mostly affected by an unassigned variable)
Meh, didn't work on me. I've got Firefox set up to open links in new tabs, so all that happened was the supposed "frame" from Secunia appeared in its own tab. The only way for a link to open within an existing tab is if A) I tell it so, and B) it originates from the same tab. So nyeh!
Those of use using the Contiki web browser as our primary browser are still safe! Phew!
See title.
I'm sitting here trying to get this to work on IE, Mozilla and Firefox then I read the bottom of the page.
The following browsers are not affected:
* Mozilla Firefox 0.9 for Windows
* Mozilla Firefox 0.9.1 for Windows
* Mozilla 1.7 for Windows
* Mozilla 1.7 for Linux
All my browsers are allready patched! Even IE was patched.
Type: Spoofing
Exploit: Local
Effects: All browsers
Description:
A 6 year old vulnerability has been discovered in multiple browsers, allowing malicious people to spoof the content of websites.
The problem is that the browsers don't check if a piece of black electrical tape is on the screen covering the address bar, which prevents the user from identifying the source of content in the browser window.
Successful exploitation allows a malicious website to load arbitrary content with its source masked by the black tape. The user cannot know if this is a trusted site.
Solution:
Remove the piece of electrical tape from the screen. Windex may be necessary to clean up afterwards.
Unknown host pong.
Here I am feeling like a loser because I can't make the bug work.
"Damnit! Even the stupid bugs and exploits don't work on this crappy machine!"
.sigs are for post^Hers.
If you go to security settings in IE ( I've checked IE 6.x ) click custom level, and set "Navigate sub-frames across different domains" to prompt. You will get a nice little pop up warning.
Now I can visit unsafe websites like microsoft.con
Frames-based cross-browser security vulnerability, or self-promotional alarmist press release by heretofore unknown consultancy?
I can't find that anywhere on the story link (I think it's the story link). What I found says this, "Do not browse untrusted sites while browsing trusted sites." Which is very different.
Do not visit or follow links from untrusted websites.
Is Slashdot considered "trusted" or "untrusted." You just never know what you are going to get when you click on some of these links.
So, basically, they "discovered" this vulnerability after the major browser vendors had already fixed it!?! Wow, that is an amazing "discovery!" How do they do it? Y'know, next, maybe they can discover something really amazing and new, like, say, America! Or F=MA! :)
There really isn't much difference between a transparent frame with a Java app intercepting access to a legitimate web page, and someone's creating a mock-up of the legitimate page; either way, the only real way to tell is the URL displayed in the address bar. Any real solution for one should work for the other.
Lorenzo Colitti and I found the same hole several weeks ago, independently of Mark Laurence. I reported it to mozilla.org on June 11 and to Microsoft and Opera on June 16. I got different results from each browser maker:
Mozilla (bugzilla.mozilla.org 246448) Fixed on June 14. Firefox 0.9 released with the fix June 14. Mozilla 1.7 released with the fix June 17. Opera (bugs.opera.com 145283) No response. Microsoft On June 21, I received an e-mail containing the following: "... is by design. To prevent this behavior, set the 'Navigate sub-frames across different domains' zone option to Prompt or disable in the Internet zone. We are trying to get this fixed in LonghornAnother cross-browser security hole I found (bugzilla.mozilla.org 162020) got similar responses from each browser maker: fixed in Mozilla 1.7 and Firefox 0.9; no response from Opera; confusing statement from Microsoft mentioning XP SP2. 162020 is an arbitrary code execution hole.
The shareholder is always right.
This should be on the front page, not hidden back in developers, if only to make blind followers of $MY_ALTERNATIVE_BROWSER realize that they too are vulnerable, and not just MS.
and now to complete the troll: Slashdot editors never argued that they were fair and just in reporting, so why should this be on the front page?
The following browsers are not affected:
* Mozilla Firefox 0.9 for Windows
* Mozilla Firefox 0.9.1 for Windows
* Mozilla 1.7 for Windows
* Mozilla 1.7 for Linux
interesting. what about 0.9x for Linux? it's not explicitly listed as confirmed.
Although it's true that this is "working as designed", it does present an interesting exploit scenario. Let's assume you visit evilguy's site, supposed to be a financial portal. From there, a list of links direct you to the (framed) pages of banks where you can run your operations.
Now, evilguy's site has javascript code running that will detect when one of the interesting frames is available (frames that contain login info). It means that you're trying to log into your account at one of the bank sites. What it does is serve you a facsimile that looks exactly like the original login screen, except this one sends the info to evilguy's site.
When your login info is in evilguy's database, he just sends it to the bank and replaces the frame again with the content the bank returned. Voila! Successfully executed framejacking to invisibly steal your login info.
This might be serious.
Overcaffeinated. Angry geeks.
The report simply says that a frame is global to all browser windows, so if I open a site with a frame named "fraRightWindow" and then click on a link in another window that tragets that frame name it'll change that frame even if the sites are completely unrelated.
The obvious vulnerability is that the page exploiting this needs to know the frame name.
If you use dynamic frame names (even just change them statically every day or every few hours) then you have little to worry about.
Unless, of course, your particular browser's DOM allows any window to look at resources in another window. This is something I don't know about, but I suspect that's the only other way to exploit this if you don't already know the name of the frame.
-Adam
I just checked - indeed - works in Netscape 7.1 and doesn't in Firefox 0.9.1. However, it doesn't work anymore in Netscape if you open the page as a tab instead of another window. Somehow tabs don't work very well with frame names, at least in Netscape.
It's actually implementation issue - for most browsers - letting other pages swap frames in framesets that don't belong to them. Whoever said that frames don't have owners - it's not quite true - frames are hierarchical to some degree, so it's not so difficult to figure out - see Firefox if you need a proof.
Like the Tripod URL wouldn't be a dead giveaway. Anyone who falls for this deserves to lose all their money.
The test page did push data to the opened MS window.
Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.7) Gecko/20040629 Firefox/0.9.1
Nothing to see, move along...
"Those who make peaceful revolution impossible, make violent revolution inevitable" - JFK
The test page did push data to the opened MS window.
Did NOT push data..
"Those who make peaceful revolution impossible, make violent revolution inevitable" - JFK
I am curious how long this problem has been around.
I checked and duplicated the problem on Netscape 7.1 and Firefox
However the problem does not exist with Netscape Communicator 4.8 and probably never has since I recall the original Netscape documentation containing information on security that frames could only be changed by frames from the same domain.
Anyone running IE with the current help file keylogger problem is asking for worse than spoofing.
Somebody broke something, after the version 4 browsers and the fix is not to get rid of frames, but repair the dom model in the browsers.
I just ran their test and it did not work on me. It loaded the page in a new tab instead of the MSN frame. I have Tabbed Browser Extensions installed with nearly everything set to open in a new tab.
I'm not sure what setting it is. I've done everything but disable the extension and it still opens in a new tab instead of the frame. So looks like they did not do very extensive testing.
I also tried it on a Windows 98 computer with a fresh install of FireFox 0.9.1 with no extensions installed and it doesn't work again. When I click on the link to open the test page it just does nothing. I tried it with the msn site opened in a new window, a new tab and a new tab in a seperate window. Still nada.
It looks like FireFox 0.9.1 is not affected. Can anyone else reproduce my results?
You insensitive clods, my web browser doesn't even have tables, let alone frames.
It was something Tom Duff wrote at Bell Labs before moving on to Pixar.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
I guess I should Read the Whole Fucking Article next time. I just read down far enough to test the link. I saw at the begining it listed FireFox 0.X....
This affects all browsers I've tried it on. When you click in a "hyperlink" it brings you to a page without asking you specifically if you would like to switch pages. Things to watch out for is the mouse pointer changing to a finger. In fact, if you pointer does change to a finger, you're probably vulnerable. The most shocking aspect is even Lynx is vulnerable to this web bug.
Gotta add that word to my dictionary!
one hundred twenty
is just enough characters
to write a haiku
To me IE is the vulurability.
It's not just for IE. I tried the posted example page just now in Firefox 0.8 and the HTML object was displayed just fine.
-- I could tell right away that she was impressed with my HUGE Slashdot Karma.
You (Principal Skinner), of all people should know that Ubiquiness is a perfectly cromulent word. Of course it is very similar in meaning to another word: 'ubiquitousness'.
The grass is only greener, if you don't take care of your own lawn.
"cromulent"... there's another word I never heard before I came to Springfield.
one hundred twenty
is just enough characters
to write a haiku