Live data from Hacker News

You can't download this image

youcantdownloadthisimage.online

231–240 of 241 posts

Re: You can't download this image

#231

In Chrome, you can just do as the author says, right click and "Save Image As". Then just go to the folder where it is being downloaded, and copy/paste the file "lisa.jpeg.crdownload" to "lisa.jpeg.crdownload copy". Rename to "lisa.jpeg" and cancel the download. You now have the image. What's interesting is that you ARE actually downloading this image. It's just that they don't terminate the connection.

In this case, F10 and basic Gimp cropping Skills also do the job.

Re: You can't download this image

#233

Earlier quoted context omitted.

I don't know about browser internals, but I would guess that the browser decodes the image once into a format that can be shown on the page (so from PNG/JPG/WEBP into a RGBA buffer) and then discards the original file. This saves a bit of memory in 99.99% of cases when the image is not immediately saved afterwards.

One cool related thing is that (I believe) modern graphics cards (even Intel) can store and use JPG blocks directly from GPU memory, so it's not necessarily beneficial in the long term to convert to RGBA in advance. Though I think no modern browser actually does this, especially given how power-cheap decoding jpeg (with SIMD) already is and how likely it is that gpu bugs would interfere.

I'm pretty sure that Safari (and probably most browsers) on MacOS renders JPEGs via CoreImage, and I have seen hints that CoreImage has various GPU-accelerated pathways, though I don't know whether those include DCT or JFIF on the GPU.

Re: You can't download this image

#234

In Chrome, you can just do as the author says, right click and "Save Image As". Then just go to the folder where it is being downloaded, and copy/paste the file "lisa.jpeg.crdownload" to "lisa.jpeg.crdownload copy". Rename to "lisa.jpeg" and cancel the download. You now have the image. What's interesting is that you ARE actually downloading this image. It's just that they don't terminate the connection.

I don't understand what this website is supposed to be demonstrating. Some sort of genius version of disabling right click I suppose. But I did download the image, because its contents were transferred to my computer's memory and displayed on my screen. I can see it clear as day.

If Web 3 is just willfully misunderstanding how computers work, I don't see a very bright future for it.

Re: You can't download this image

#235

The problem with leaving connections open is that there's a limit on how many you can have on the server... I think the author has committed self-DoS :) https://en.wikipedia.org/wiki/Slowloris_(computer_security)

It would be possible to really close the connection but hack something to don't inform the client. (maybe just doing close() with SO_LINGER=0 and dropping outgoing RST in iptables would be enough)

The client would eventually time out though, right?

Re: You can't download this image

#236
post #189

Earlier quoted context omitted.

Those controls on a proxy are to protect against the careless and the clueless. No competent security team will rely on them to prevent ingress/egress of data or malicious code by skilled individuals.

Correct - this is an attack on the other side of the airtight hatchway (i.e., you must persuade the user to run wget in a certain fashion and run the resulting exe, and if you don't need to persuade the user you could have done something simpler). https://devblogs.microsoft.com/oldnewthing/20170130-00/?p=95...

I am continuously appalled at the gall of calling that hatchway "airtight".

Re: You can't download this image

#238
post #235

Earlier quoted context omitted.

It would be possible to really close the connection but hack something to don't inform the client. (maybe just doing close() with SO_LINGER=0 and dropping outgoing RST in iptables would be enough)

The client would eventually time out though, right?

Yes, browsers probably have their own relatively short timeouts. (curiously enough, system TCP stack will never close idle connections by default, and even if application requests SO_KEEPALIVE, default intervals are usually in hours range)

Re: You can't download this image

#239

Earlier quoted context omitted.

Modern browsers suppress the referrer. Relying on it for functionality is not a good idea.

Fair point, you can accomplish the same by comparing the ip adress that the image request came from against your servers.

Wouldn't that just mean comparing the user's public address? It is the browser that is trying to download the image from your servers.

Re: You can't download this image

#240

Earlier quoted context omitted.

Fair point, you can accomplish the same by comparing the ip adress that the image request came from against your servers.

Wouldn't that just mean comparing the user's public address? It is the browser that is trying to download the image from your servers.

The shortest route yes, but I'd rather whitelist check, because depending on your infra, there might be a lot more things that make request for the content.

But the concept is the same, server side check the ip of the request, and take action based on that check.

Post reply on HN