Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by hdra on Sunday December 23, 2012 @08:16AM
(#4959389)
what was that? an exploit in the SMB game?
[ Parent
| on HN ]
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by lutze on Sunday December 23, 2012 @08:44AM
(#4959425)
From what I recall of the story, the login for SMB's level database was stored in plaintext in the exe.
That picture is the guy who found it telling the devs, and the devs not understanding why it's a problem.
Cue their database being "hacked" a short while later... and another internet meme is born!
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by smosher on Sunday December 23, 2012 @08:37AM
(#4959414)
Yep. MySQL credentials in the binary.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by vially on Sunday December 23, 2012 @11:53AM
(#4959879)
Honest question: how could they have avoided that?
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by benwerd on Sunday December 23, 2012 @12:09PM
(#4959924)
One obvious, safe way: set up an API on their servers, abstracting away the need to send actual MySQL calls over the Internet.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by thom on Sunday December 23, 2012 @03:18PM
(#4960503)
While this case is particularly egregious, you are still accepting data from an untrusted remote client.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by xsmasher on Sunday December 23, 2012 @07:11PM
(#4961232)
Every public web site on the planet is "accepting data from an untrusted remote client" - but allowing public db access is something else entirely.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by thom on Sunday December 23, 2012 @08:37PM
(#4961451)
Not every public web site enforces its business logic in client-side JavaScript and just accepts as valid the data that's submitted to a server. Every game that wants to submit a score to a central scoreboard has this problem, and it's a little absurd to debate the exact protocol by which an insecure-by-design architecture gets exploited.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by rictic on Sunday December 23, 2012 @11:06PM
(#4961813)
You can submit the input sequence used along with the high score. You've then transformed the problem for the attacker from simply sending up an artificial score to writing a program to solve the game, which is harder and was an existing vulnerability already.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by thom on Monday December 24, 2012 @05:54AM
(#4962499)
I thought this was my exact point. I was responding to a comment that replacing the database connection with an API would solve the problem. It wouldn't. Accepting a score from the client is insecure by design.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by makomk on Monday December 24, 2012 @03:58AM
(#4962319)
Every game basically has to trust the scores submitted by users. That doesn't mean it should trust users to mess with other users' scores, and it certainly doesn't mean it should trust users to mess with levels that other users have designed.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by uxp on Sunday December 23, 2012 @03:53PM
(#4960630)
Yes, but you can fine grain permissions so a unique client can alter a high score that they previously held, but not alter everyone's scores, which is difficult if not completely impossible in MySQL directly, as well as sanitize data to reject wildly incoherent submissions.
The possibilities of pre-formatting data are endless with an API. Not so much with an INSERT statement.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by Zash on Sunday December 23, 2012 @04:17PM
(#4960708)
It is entirely possible to build this kind of API in a SQL server with constraints and stored procedures.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by jlgreco on Sunday December 23, 2012 @07:40PM
(#4961300)
It's also entirely possible to write a webserver in bash.
Re:Ed McMillen: Ubuntu Store Sold Super Meat Boy Without Per...
by sk5t on Sunday December 23, 2012 @12:56PM
(#4960069)
If one must directly access the database from a client application, the right way is to make sure each user has an unique, secure database credential with only the minimal permissions necessary. However, direct database access is still a terrible idea in most cases, as it is a lot of work to prevent a resource starvation attack.