How to go from zero to 400,000 push notifications in one day(islandofdoom.com)
islandofdoom.com
How to go from zero to 400,000 push notifications in one day
http://islandofdoom.com/how-to-go-from-zero-to-400000-push-notifications-in-one-day/
11 comments
I'm pretty surprised that neither Apple nor StackMob had an upper limit for the number of notifications your account could send or a user's device could receive within a set time.
I wonder how many users have now uninstalled your app?
I wonder how many users have now uninstalled your app?
Do I understand correctly that StackMob lets your iOS client send push notifications directly to other users?
How does this API prevent spammers from hijacking your app credentials to send pushes to all your users?
How does this API prevent spammers from hijacking your app credentials to send pushes to all your users?
They're not sent "directly" -- they go through StackMob's servers. Urban Airship has a client library that can do the same thing, and it's widely used.
I can see how it's certainly possible for a spammer to do that with hackery, but there's a mechanism to revoke API keys and so forth if needed.
I can see how it's certainly possible for a spammer to do that with hackery, but there's a mechanism to revoke API keys and so forth if needed.
Revoking your API key is the equivalent of taking your application offline. And there's no fix; as soon as you reissue your application (after waiting a week for Apple's approval) then the spammer has your API key again and can start sending pushes through StackMob/Urban Airship.
I send a lot of push notifications through my own servers. I made sure that spammers would have a hard time abusing it by constraining (server-side) who can send what messages to whom. Unless I'm missing something, StackMob has no defense against spam whatsoever.
If spammers aren't already abusing this, they will be soon.
I send a lot of push notifications through my own servers. I made sure that spammers would have a hard time abusing it by constraining (server-side) who can send what messages to whom. Unless I'm missing something, StackMob has no defense against spam whatsoever.
If spammers aren't already abusing this, they will be soon.
I think it would help a lot if broadcast were unavailable via the client-side API. Without broadcast, an attacker would have to find out usernames or device tokens to push to. I'll suggest that to StackMob and see what they think.
Sounds like you're responsible for ensuring that your app only sends broadcasts when appropriate. If you create an app that lets end users send push notifications to an arbitrary list of users then that's on you for allowing it to happen.
If the iOS application decides who to send messages to and what the content of the message should be, then anyone who downloads the app now has the ability to spam to any other user just by extracting the API key out of the binary and using the StackMob API directly.
I wonder if there is any chance of seeing this app on Android. I know it's a small project and that seems silly, but hell, maybe I want to talk to iPhone users.
TL;DR: It was a bug.
Don't get me started about Facebook