@Tom point taken on board (see the new post title :))... I got a lot of hypothesis about the xxxxxx part but no real solution just yet.. i hope to restore the title to 2.0 though
Apologies for all the people that thought chunck 2 was already being "discovered" if discoverable, my mistake not being enough clear. Still working on it though! :) So, stay tuned!!
Here we go again...
I have been playing, at this point, for a while with Facebook's security as you can see here and here. Not too seriously though, also because, as who knows me well knows, that I am far away to be a security expert. I tend to observe though, and do a bunch of questions to myself . Sometimes I am able to find an answer as in the case of this post.
You might be aware of the new features of Facebook: Reply to this email to comment on this status. Sean from F-Secure discover that anyone can use the Reply To address, from any e-mail account.
I have tried to go further. Can anyone guess the email address in order to pretend to be the real account holder? The answer surprisely is YES!!! :-S
As long you have any kind of access to the wall though (this happens either if you are friends of the account holder or the account holder has the wall public). Here how to reckon it :
All you need is:
- know how to convert a number from base 10 to base 36 (if you don't know how use this)
- the profile_id of the account holder (available on the URL of the account holder facebook page)
- story_id and story_type (again easily accessible from the URL on the wall)
- the current date (yes you undestood well the current day :D, e.g. today 27/02/2010)
That all you need!! Now follow this steps:
let try to do a reverse engineer approach. This is our final goal:
N.B. note the 6 "avoid spam" xxxxx :D
Any way lets split the email address as follow:
So here the magic reckon trick:
- chunck 3 and chunck 6 come directly from my profile_id: (631367016) base10 = afwdwo base36 (adding 000000 6 zeros to arrive to 11 digits)
- chunck 4 comes from story_type : story_type= 22 base10= 0m base36
- chunck 5 is the story_id (again in base 36): 261600937166 in base 10= 3c6efyz2 in base36 (adding 0000 4 zeros to arrive to 12 digits)
- chunk 8 is a counter incrementing every day (still in base 36):
- chunck 1,9,10 are always the same
- chunk 7 will be the topic for my next post but for this purpose consider as a constant as above (always 000000000000, is 12 digits it is any hint ? :D)
And chunk 2? Well I leave to you the fun to find out :D
Well that's it. I hope I you find this interesting and I leave you with a question :
Is base 36 enough cryptic :D? And is Facebook using this great alghoritm anywhere else?
Cheers and stay tuned