PANews 1月17日消息,根據安全機構Fairyproof檢測,BSC上的OMNI Real Estate Token (ORT) 項⽬遭受攻擊,攻擊原因疑似為合約代碼有漏洞。攻擊者地址為:0x9BbD94506398a1459F0Cd3B2638512627390255e,其中⼀個攻擊合約為0x0eFfECA3dBCBcda4d5e4515829b0d42181700606,攻擊初始gas來源FixedFloat熱錢包,攻擊者獲利超過236個BNB,價值約70705美元。
漏洞合約為項⽬的StakingPool合約,攻擊交易⼊⼝為如圖所示。在_Check_reward函數中,當durations 為0時,條件判斷沒有覆蓋,會返回⼀個上次的全局變量值(預期外的值),造成獎勵計算錯誤。攻擊者調⽤invest函數時, end_date輸⼊為0,此時合約未驗證⽤戶輸⼊,因此合約可以繼續運⾏, duration[msg.sender]=0 ,⽽在_Check_reward函數中也未驗證durations的值,並且在_Check_reward函數中使⽤了全局變量來參與計算,多重因素造成了⼀錯誤的獎勵值。