10000美金—Facebook上的支付漏洞
该文原作者大概来自中国台湾地区
漏洞描述:
Facebook針對遊戲影片創作者提供了星賞計畫,創作者可依照收到的星賞數量和Facebook分潤。而此漏洞可將星賞金額修改為0.01美金,並成功贈送給創作者。
星賞計畫定價
觀眾可點擊聊天室的星星圖示,購買並賞星星給創作者。若有人賞星星給您,您和所有其他觀眾都可以看到賞給的星星數量,以及隨附的留言。 您可以在實況主主控板查看收到的星星數量,以及串流影片中的最新留言。創作者每獲得一顆星,Facebook 就會向他們支付 $0.01 美元。
換句話說,透過此漏洞購買6400顆星星只花費0.01美金,但Facebook會支付64美金給創作者。也就是憑空產生了63.99美金的利潤,約新台幣2000元。
回報時間軸:
2018年6月26日 (第一次報告)
2018年6月28日 (Facebook第一次回應,認為這是UI顯示的問題,並沒有安全影響)
2018年6月28日 (提供更多漏洞細節,以及其他相關漏洞案例給Facebook參考)
2018年6月28日 (Facebook第二次回應,已接受回報內容)
2018年7月4日 (Facebook第三次回應,已成功重現漏洞,並分類給對應的產品團隊調查)
2018年8月1日 (Facebook已修補漏洞,並要求複查)
2018年8月1日 (已複查)
2018年12月5日 (Facebook頒發美金10,000獎金)
詳細內容:
Supporter — Monthly
Stars
POST https://secure.facebook.com/ajax/payment/token_proxy.php?tpe=%2Fpay%2Fpayments%2F_charge%2F&dpr=1&__a=1 HTTP/1.1
xxxx=xxx
&xxxx=xxx
&.........
&amount=1.00
¤cy=TWD
購買星星後送出請求
amount=43.00
修改amount=1.00
成功購買
將貨幣改為日幣,成功使用1日幣付款
成功購買的通知
成功訂閱
成為支持者
第一次回報被當作是UI上的顯示問題
提供更多參考資料後獲得獎金
這個漏洞並不困難,發現這個漏洞大約只花了不到3分鐘的時間,但連Facebook這麼大的公司都會犯這種錯誤,你能想像比Facebook小的公司們不會犯這種錯誤嗎?
後端驗證不是口號喊喊就好,更不是問題被發現之後的馬後炮,後端驗證是基本原則,但在開發過程卻沒有確實遵守,才會導致這麼多類似的問題發生。
感謝:
◆来源:medium
◆本文版权归原作者所有,如有侵权请联系我们及时删除
最新评论