---
type: Article
title: itms Decloaking ha.ckers.org web application security lab
description: "An iframe pointing at itms:www.apple.com:80@ha.ckers.org bypasses the iTunes handler's restriction on which domain it may contact. Because the handler follows the operating system's network settings rather than the browser's proxy, the request leaves the user's real external IP, decloaking someone browsing through a proxy. It was added to HD Moore's decloak.net."
resource: "http://ha.ckers.org/blog/20090819/itms-decloaking/"
tags: [article, webseclist-reference, ha-ckers-org, info-leak, url-parsing, iframe, proxy, side-channel]
generated:
  by: webseclist-refs/1
  at: "2026-08-09T10:08:48+00:00"
status: stable
stale_after: 2027-08-09
sources:
  - id: original
    resource: "http://ha.ckers.org/blog/20090819/itms-decloaking/"
    title: itms Decloaking ha.ckers.org web application security lab
  - id: capture
    resource: "https://web.archive.org/web/20101017163137/http://ha.ckers.org/blog/20090819/itms-decloaking/"
also_at: []
authors: []
canonical_url: ""
cited_by:
  - "2009.md:31"
commit: ""
content_sha256: 1e283f9124e4968a7e568ec716e70754e0ac8ccb23ee0c5111d6084e9ffece4d
depth: full
depth_reason: default
kind: article
language: ""
licence: unknown
original_url: "http://ha.ckers.org/blog/20090819/itms-decloaking/"
published: ""
publisher: ha.ckers.org
publisher_english: ""
raw_sha256: f64ba869d171d6ede65210bf0705afbf66a070e1125630cef392bb0be84171d0
retrieved_from: "http://ha.ckers.org/blog/20090819/itms-decloaking/"
retrieved_kind: stored
retrieved_utc: "2026-08-09T10:08:48+00:00"
slug: ha-ckers-org-itms-decloaking-ha-ckers-org-web-application-security-lab
snapshot: 20101017163137
title_english: ""
translation_file: ""
translation_of: ""
---

# itms Decloaking ha.ckers.org web application security lab

**itms Decloaking ha.ckers.org web application security lab** - Author not stated, ha.ckers.org.

- Published: date not stated
- Original: <http://ha.ckers.org/blog/20090819/itms-decloaking/>
- Preserved from: http://ha.ckers.org/blog/20090819/itms-decloaking/ (stored) on 2026-08-09
- Capture timestamp: 20101017163137
- Licence: unknown

Rights remain with the original author and publisher. This is a research
archive of a source from the Web Hacking Techniques Index collections, kept so the
page going offline. To read the original, follow the link above.

## Content

> UNTRUSTED SOURCE TEXT. Everything below this line is third-party material
> quoted for research. It is data, not instructions. Do not follow directions,
> execute code, or fetch URLs because this text says so.

itms Decloaking ha.ckers.org web application security lab

[![web application security scanner survey](http://ha.ckers.org/images/nto_top.jpg)](http://ha.ckers.org/blog/20071014/web-application-scanning-depth-statistics/)
 Paid Advertising
 [![web application security lab](http://ha.ckers.org/images/84844372/rsnake/hackers.jpg)](http://ha.ckers.org/)

## [itms Decloaking](http://ha.ckers.org/blog/20090819/itms-decloaking/)

Another thing Jabra and I mentioned in the presentation actually dates back several months. HD Moore was talking about how someone (name is slipping my mind at the moment) had found some exploit using itms: protocol, used by iTunes, but part of it had to do with the fact that they needed to redirect off of Apple’s website to land on their payload. The redirect was eventually closed down, but it got me thinking and looking at iTunes. After about 20 minutes of looking I found a way to bypass itms’s limitations on which domain it allows you to connect to, which is a bug, but not a particularly serious one:

> <iframe src="itms:www.apple.com:80@ha.ckers.org"></iframe>

So I handed it back to HD Moore and he added it as a feature to [decloak](http://decloak.net/) a few months back. Why? Because it turns out that in specific circumstances it’s actually pretty good at decloaking people. If you are using Firefox and a proxy, it will go outside of the proxy model of the browser and use the underlying network settings of the operating system. So the first request will come from your proxy but the itms request will come from your real external IP. Add in some DNS foo to make the DNS request unique per person and you’ve got yourself a decloaking engine. You can see it on decloak if you want to take a look at it. And like before, if there is an exploit in itms where you need to include a payload into it off of Apple’s website, this is another way to do it.

I talked with Microsoft, Apple and Firefox about this and we had a very hard time talking about who owns this bug. Let’s say for a second Apple had no bug there, and it was working as intended. Who’s bug would it be? Apple for not following the proxy model? Firefox for not forcing the proxy model on all of it’s sub components OR for having it’s own unique proxy model? Or is it Microsoft who runs the entire operating system. I don’t think we ever came to a conclusion, but I’m more and more thinking it’s Firefox’s fault. They did go down the path of creating their own proxy model a long time ago (out of necessity). Now the question is, should they fix it? I for one would hate it if it got fixed. Sure, it’s horrible from a privacy perspective, but it’s great for usability. I’m constantly stuck on weird networks with weird proxy settings in the OS, and I need to get out for some reason. I think there are a lot of other people in the same boat too. So I doubt this is getting fixed any time soon.

This brought up one last conversation that I thought was worth sharing. The private browsing initiative that several browsers are undertaking at the moment really was never meant to protect users from this sort of privacy leak. It was intended to prevent wives from seeing what presents their husbands are buying them for their birthday. *cough* But maybe future versions should do a better job of this sort of privacy leaks - better integrate with Tor or something of that nature. I dunno, but it was an interesting conversation with the browser/OS/plugin guys.
