Like AWS. (Cite: http://dl.acm.org/citation.cfm?id=1653687.)
[1] Lala people never send sensitive data over plain HTTP I'M NOT HEARING YOU.
I understand and agree with your comment about the secure flag, but if I understood ivanr's comment it doesn't apply.
As for manipulating cookies from the MITM perspective, here's one clunky way to do it: redirect the victim's browser to the plain-text version of the target web site, intercept that request, and set a new cookie (pretending to be the plain-text version of the target web site). The next request to the secure version of the target web site should contain the injected cookie. As tptacek mentioned in another comment, this approach would not work with a site that uses HTTP Strict Transport Security.
I think all three comments in this little subthread might be saying the same thing. Go nerddom!
That one was not cracked one character at a time in series, portions in the middle were discovered sooner. But, yeah, would have been a more appropriate, cooler name.
edit: tptacek is absolutely right; there isn't a way to defend against this in application code. All you can do is turn off TLS compression. This is NOT by any means the only approach, it's just the most obvious one.
1. To know the format of cookies used for the web site you are targetting. Specifically, whatever cookie contains authentication.
2. The ability to injection a request to the target web server while someone is connected (such as with JavaScript, an XSS, or plug-in).
3. Ability to monitor the SSL connection is it is transported across TCP.
Would have been fun if they called this the CPE1704TKS attack instead of CRIME: http://www.youtube.com/watch?v=NHWjlCaIrQo