概述:
2023 年 2 月 8 日,針對 DKP 協議的閃電貸攻擊導致該協議的使用者損失了 8 萬美元,因為 execute() 函式取決於 USDT-DKP 對中兩種代幣的餘額比率。
智慧合約駭客概述:
解碼智慧合約漏洞:
- 攻擊從向漏洞利用合約傳輸 259,390 BSC-USD 代幣的閃貸開始。
- 然後,攻擊者呼叫他的合約的
pancakeCall()
方法,並將 BSC-USD 代幣從他的合約轉移到 exchange() 函式。
- 然後攻擊者使用該
exchange()
方法將 100 BSC-USD 轉換為 17,029 DKP 代幣,隨後將其傳輸到漏洞利用合約。
- 攻擊者發起了一項新交易
swapExactTokensForTokensSupportingFeeOnTransferTokens
,將 DKP 代幣兌換回他們的 USDT 對手方,並從中獲利頗豐。
緩解措施和最佳實踐:
- 透過諸如 Chain Links 之類的預言機和對這些提要引數的輸入驗證,可以在更大程度上減輕價格操縱嘗試,以防止資料過時。
- 使用加權時間演算法,而不是嚴重依賴令牌演算法。
- 定期檢查欺詐存款的情況並防止套利。
透過Github 獲取更多區塊鏈學習資料!