After being an Apple iPhone developer for over 2 years. I thought that I have seen my share of weird happenings with XCode, App Store policies etc. But this latest incident takes the cake. I was doing an app submission for a client who wants their game to be on Apple’s App Store, so I happily did the provisioning, certificate setup etc. Then when I used Apple’s Application Loader to upload the binary. I was met with a stonefaced error message of BLANK. Yes, BLANK as in the error message is empty. Normally, error message show some helpful or unhelpful error messages, or some error code. This can be easily solved with a quick google. But how the heck do you google an error message of BLANK?
So the Sherlock Holmes in me(or rather the hacker in me) decided to test a few hypothesis which is
A – The binary is corrupted
B – Somehow the binary is not corrupted, but the code is
C – The apostrophes are causing some input validation issues
So to test my hypothesis, I did the following
1) The blank error message pops up when I use Application Loader to send the binary over and during the authenticating with iTunes Store phase
2) I tried another binary which has been submitted before and then tried to upload it using the same account which gave the blank error message. So that means the binary is not the issue. So that rules out A and B
3) The blank error message pops up again when during the authenticating with iTunes Store phase
4) So this shows that the binaries are highly unlikely to be the cause, so on a hunch. I did the following
5) I changed the Apple ID to another Apple ID without the apostrophe and I did the same for the password
6) Next, I tried the upload with the actual binary with fingers crossed and
7) The uploading went through, so this means the apostrophe was screwing up the Apple ID and password validation
This is dangerous as a malicious attacker could use the apostrophe to perform SQL injection attacks. So if you have a blank error message, please remember your apostrophes