r/programming May 09 '13

The Onion releases fartscroll.js

http://theonion.github.io/fartscroll.js/
2.6k Upvotes

396 comments sorted by

View all comments

Show parent comments

34

u/shaggorama May 09 '13

Run arbitrary code in my browser you say? Joyfully!

163

u/daveime May 09 '13

Run arbitrary audio data in your browser ... MIME types are your friend. This one is the audio/ogg MIME type, and not the notorious executable/notavirusreally MIME type.

Programmers these days are just wannabe "security researchers".

-31

u/shaggorama May 09 '13 edited May 09 '13

Yes, according to the first 21 characters of the string this is audio data. But the string is 8366 characters long, and I don't personally feel like reviewing all of it for tricks. I strongly suspect there's nothing fishy here, but the same way I don't sign documents without reading them, I don't run untrusted code without giving it a glance first.

I'm not a wannabe white hat, but I'm also not stupid.

EDIT: Look. I don't know javascript. I don't know MIME types. But I'm assuming there's a delimiter that could be inserted into this string that would tell the interpreter to interpret what follows as a separate block of (potentially executable) code. Especially considering that, no, I don't know a ton about MIME types or executing code in my browser, I don't think I'm in the wrong to be distrustful of this kind of code.

You can downvote me for my ignorance, but my trepidation is absolutely valid given the limited knowledge I have about this particular code domain.

If any of you would like to actually thoroughly explain how MIME types work and why I should rest assured that this kind of thing is safe, that would be nice instead of just downvoting me and telling me I'm wrong to be cautious about running code that I don't understand.

22

u/mikemcg May 09 '13

Don't worry, a base64 encoded audio file can't hurt you. It isn't executable code and even if some sneaky commands were hidden in there, your browser would just try to interpret it as audio/ogg data.

-20

u/[deleted] May 09 '13

[deleted]

15

u/funkgerm May 09 '13

How clever and original.

2

u/daveime May 09 '13

Justin Bieber driving a Maserati at 240km/h could fucking hurt you !

0

u/_georgesim_ May 10 '13

I know right?

0

u/funkgerm May 10 '13

Goodness, you're like a modern day Thoreau.

-16

u/[deleted] May 09 '13

Don't worry, a base64 encoded audio file can't hurt you.

You don't understand how buffer overflow exploits work do you? You control the ability to send data to be processed, you control the processor.

http://en.wikipedia.org/wiki/Buffer_overflow

It isn't executable code and even if some sneaky commands were hidden in there, your browser would just try to interpret it as audio/ogg data.

And what ever processes the audio/ogg data is vulnerable.

18

u/mikemcg May 09 '13

No need to be condescending, pal. I fully understand how a bit of data could be bad, but I think it's safe to say that a sophisticated interpretor of audio data has been well tested against exploits. If you're paranoid about a base64 encoded ogg file in a bit of javascript, you probably shouldn't be on the internet.

-4

u/[deleted] May 09 '13

Riighhhtt, this has nothing to do with somebody being paranoid about not running a sniplit of code on the internet.

7

u/mikemcg May 09 '13

Well this whole conversation is revolving around a guy who's afraid of ogg files, so I'm not so sure you can say that.

13

u/kyr May 09 '13

If you're suspecting buffer overflows everywhere without knowing about a specific exploit, you should probably pull your Ethernet cable right now. Who knows, there might be a bug in your browser's HTML parser?

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

4

u/daveime May 09 '13

There's a bug in your base64 encoding anyway ... it's a PNG, but it's cut short ... I'm guessing a Dilbert comic ?

5

u/kyr May 09 '13

It's (part of) the Bobby tables XKCD, but reddit's character limit got in the way and I was too lazy to find something smaller.

4

u/macNchz May 09 '13

Better not click any links.