Remote Code Execution on a Facebook server
blog.scrt.ch
Remote Code Execution on a Facebook server
1–10 of 207 posts
Re: Remote Code Execution on a Facebook server
#2Did the author tell Django about this yet, or is this a (possibly unintentional) 0-day?
Besides the above interestingness, the morals of this story I get are
- Stay persistent and leave your scanners running; you never know what new things will turn up.
- Crashdumps _are_ interesting
- Yay, $5,000!
- Middleware and frameworks will always clash in useful and interesting ways?
Re: Remote Code Execution on a Facebook server
#3So, this was simply taking advantage of a crash-prone webapp running on a debug-enabled Django instance using Pickle session serialization, and more specifically this was only possible because _Django didn't redact the stored secret key used to sign serialized inputs out of the crashdump information!_ Did the author tell Django about this yet, or is this a (possibly unintentional) 0-day? Besides the above interesting…
Re: Remote Code Execution on a Facebook server
#4So, this was simply taking advantage of a crash-prone webapp running on a debug-enabled Django instance using Pickle session serialization, and more specifically this was only possible because _Django didn't redact the stored secret key used to sign serialized inputs out of the crashdump information!_ Did the author tell Django about this yet, or is this a (possibly unintentional) 0-day? Besides the above interesting…
[1] https://docs.djangoproject.com/en/2.1/topics/http/sessions/#...
Re: Remote Code Execution on a Facebook server
#5Basically if someone requests a password reset on your account then the PIN number gets sent to all email addresses associated with your account, not only the primary one. This is an issue because many people have one locked down email address for things like registering accounts, but others they use to talk with people, delegate to their staff, use with CRM apps, etc. (But you still need your everyday email addresses linked to your account so that people can find you by email, see your email on your profile, etc.)
The FB security team just says that delegating your email address isn’t secure so it’s not their problem. Like no shit, that’s why it’s a vulnerability. But for some reason the FB security team thinks it’s a good idea to let anyone immediately bypass 2FA and hijack your account.
Re: Remote Code Execution on a Facebook server
#6Re: Remote Code Execution on a Facebook server
#7Re: Remote Code Execution on a Facebook server
#8Nice job! I also really appreciate the lack of memes and very concise format of this blog post
Re: Remote Code Execution on a Facebook server
#9One suggestion: You use "However" quite a bit. Not sure if you intended to show your thought process as it evolved, but that is the feeling I got.
Re: Remote Code Execution on a Facebook server
#10This is a great concrete example why you should never run debug mode on a public server. Django can only do so much for redacting private info. This is also a great example of how insecure pickle is!