Home page logo

bugtraq logo Bugtraq mailing list archives

Hotmail Cross-Site Scripting Vulnerability #1
From: "Rafel Ivgi, The-Insider" <theinsider () 012 net il>
Date: Thu, 16 Dec 2004 19:38:19 +0200

Finjan Security Advisory
Hotmail Cross-Site Scripting Vulnerability #1

Finjan has discovered a script injection vulnerability in
Hotmail that allows a remote attacker to execute malicious
scripts when the victim is reading his/her mail.

Technical Description
Hotmail’s mobile code filtering mechanism is based on an active
content filter whose purpose is to block the injection of any
active content into Hotmail messages. Hotmail’s filter identifies
any possibly malicious HTML tags, properties and elements,
and then modifies them into a non-malicious code.

When analyzing an HTML condition comment tag
(for example: “<![if IE gte 4]>”), Hotmail’s filter changes it to
a comment (e.g. “<! [if IE gte 4]>”). A space character is added
after the “!”, making the code inside the condition be treated as
a comment rather than as an executable. Any potentially malicious
code inside the condition is not altered.

For example:
<! [if IE gte 4]><style>@\im\port'\ja\vasc\ript:alert()';</style>

In order to bypass this protection, a comment tag can be added before
the condition tag.

For example:
<!--   <![if IE gte 4]><style>@\im\port'\ja\vasc\ript:alert()';</style>

At this stage the code is harmless since Internet browsers treat
this script as an HTML comment. However, a possible risk arises
when an HTML condition comment tag opener (“<!”) is inserted at
the beginning of the code.

For example:
<! <!--   <![if IE gte 4]><style>@\im\port'\ja\vasc\ript:alert()';</style>

Since Hotmail’s HTML filter treats this code as a comment, it does
not filter out the script. In contrast, Internet browsers do not
treat this script as a comment, but rather execute the code inside
the condition tag. In this manner, any tag that supports style,
events or javascript execution can be used to remotely call a javascript

The injected javascript code could be used for:
• Automatically launching malicious code
• Stealing the victim’s password by using a spoofed re-login window
• Reading the victim’s inbox and contacts
• Sending email messages without any user authorization.

The Code (Proof of Concept)
----------------------cut here-----------------------
<![if IE gte 4]><style>@\im\port'\ja\vasc\ript:alert()';</style>
----------------------cut here-----------------------

Vulnerability Status
Vendor was notified on Sep 8th, 2004.
The bug is now fixed.

Rafel Ivgi, Malicious Code Research Center (MCRC), Finjan Software Ltd.

  By Date           By Thread  

Current thread:
[ Nmap | Sec Tools | Mailing Lists | Site News | About/Contact | Advertising | Privacy ]