---
type: Article
title: Improving HTTPS Side Channel Attacks ha.ckers.org web application security lab
description: Proposes reducing the noise in HTTPS traffic-analysis attacks by pre-caching. From a man-in-the-middled HTTP page the attacker iframes the target site to force images, CSS, JavaScript and favicons into cache, so later requests shrink to 304 responses and the remaining encrypted sizes isolate the pages the victim actually visits.
resource: "http://ha.ckers.org/blog/20100622/improving-https-side-channel-attacks/"
tags: [article, webseclist-reference, ha-ckers-org, https, side-channel, tls, cache, info-leak, iframe, timing-attack, owasp-a02-2021]
generated:
  by: webseclist-refs/1
  at: "2026-08-09T10:08:51+00:00"
status: stable
stale_after: 2027-08-09
sources:
  - id: original
    resource: "http://ha.ckers.org/blog/20100622/improving-https-side-channel-attacks/"
    title: Improving HTTPS Side Channel Attacks ha.ckers.org web application security lab
  - id: capture
    resource: "https://web.archive.org/web/20100730014411/http://ha.ckers.org/blog/20100622/improving-https-side-channel-attacks/"
also_at: []
authors: []
canonical_url: ""
cited_by:
  - "2010.md:28"
commit: ""
content_sha256: e9b217fcea2e4a9ce52f91a89a8ca5243da9b539153712db8a23d5bf061a8368
depth: full
depth_reason: default
kind: article
language: ""
licence: unknown
original_url: "http://ha.ckers.org/blog/20100622/improving-https-side-channel-attacks/"
published: ""
publisher: ha.ckers.org
publisher_english: ""
raw_sha256: c7fe0399aafa6348d98a9e753df1da0d9a0d75368237b29c97a649fbdf8d0cff
retrieved_from: "http://ha.ckers.org/blog/20100622/improving-https-side-channel-attacks/"
retrieved_kind: stored
retrieved_utc: "2026-08-09T10:08:51+00:00"
slug: ha-ckers-org-improving-https-side-channel-attacks-ha-ckers-org-web-lab
snapshot: 20100730014411
title_english: ""
translation_file: ""
translation_of: ""
---

# Improving HTTPS Side Channel Attacks ha.ckers.org web application security lab

**Improving HTTPS Side Channel Attacks ha.ckers.org web application security lab** - Author not stated, ha.ckers.org.

- Published: date not stated
- Original: <http://ha.ckers.org/blog/20100622/improving-https-side-channel-attacks/>
- Preserved from: http://ha.ckers.org/blog/20100622/improving-https-side-channel-attacks/ (stored) on 2026-08-09
- Capture timestamp: 20100730014411
- 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.

Improving HTTPS Side Channel Attacks 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/)

## [Improving HTTPS Side Channel Attacks](http://ha.ckers.org/blog/20100622/improving-https-side-channel-attacks/)

41 more posts left until the end…

In regards to the previous post and the impending Blackhat speech with Josh Sokol, I thought I’d spend some time enumerating some of the possibilities for reducing the chatter over SSL/TLS that the browser introduces. There are a few things that an attacker generally doesn’t care about (not always, but generally). They generally don’t care about images, CSS, JavaScript, favicons, and most of the HTTP headers. That is, those parts of the HTML and HTTP request/response are generally less interesting than the content itself or what the user is sending. So there’s a few tricks we can use to force the user’s browser to cache the content prior to intentionally navigating there (call it pre-caching for lack of a better term).

Firstly, there’s a pretty good chance that an attacker can connect to the SSL/TLS encrypted website site in question and see what the HTTP response headers look like. Minus cookies, URL and POST data, an attacker can get a pretty accurate picture of what the HTTP response looks like. The attacker can also identify what sort of key exchange the user will be using with the site in question through a little enumeration. So the amount of data sent on the wire is smaller, and the data that is sent can be isolated to the few unknown components.

Next, an attacker can create an iframe (from a MITM’d HTTP website - the side channel) to the SSL/TLS encrypted site in question to pre-load all the images, JavaScript, CSS, favicons, and so on, that typically muddy the encrypted HTTP data flying in both directions. Lots of times the files in question are inconsequential to the page in question from the attacker’s perspective. But because browsers share sockets for multiple requests, often the chatter for these static objects can make determining what is on the wire much more difficult.

So by forcing the user’s browser to pre-cache the content, an attacker can get down to just the pages they are interested in and a few GET requests that return 304 Not Modified responses. That’s a much smaller footprint for the unrelated data than it would be if it weren’t cached. Now, it may not always be a good idea to pre-cache. Sometimes the content will be hosted on other subdomains or domains, and therefore won’t create the same amount of chatter over the socket, because it isn’t pulling that content from the same IP. Other times it may be useful to detect that a user is on a certain page, because some of the content is a very specific to that page in question and is a known size - alerting the attacker to the fact that the user being monitored is on the page in question.

In this way an attacker is really getting down to the exact parts of the data they are interested in. Obviously the earlier an attacker can do this the better - trying to cache after the fact doesn’t make a lot of sense, although using timing attacks an attacker may be able to tell where the user has been, interestingly enough ([Chris Evans did a good writeup on this](http://scarybeastsecurity.blogspot.com/2009/12/cross-domain-search-timing.html) a while back).

  This entry was posted on Tuesday, June 22nd, 2010 at 4:08 pm and is filed under [Webappsec](http://ha.ckers.org/blog/category/webappsec/). You can leave a response as well.

### Respond here or Discuss [On the Forums](http://sla.ckers.org/forum/)

 Your Name *

 E-Mail (will be hidden) *

 URL

---
