Attacks
給出一些討論重入攻擊/遞歸呼叫漏洞的文件範例
DAO 是乙太坊上的智能合約,容易受到重入攻擊,價值 5000 萬美元的 300 萬 ETH 被盜。
有哪些提及重入攻擊的內容範例?具體來說,較舊的內容,如 2016 年 6 月及以後的內容,很容易通過 Google 找到。
如果您是開發人員或有興趣重新創建攻擊,我創建了兩個合約來準確展示它是如何工作的。 https://github.com/joeb000/mock-dao-hack
README 文件中還連結了一些文章,您可能會覺得有幫助。
2016 年 6 月之前
- 2014 年 8 月:Reentrant Contracts給出了一個“合約可以被欺騙呼叫自身”的例子。
- 2015 年 7 月:LeastAuthority 乙太坊分析提到:
回調本身執行 publish()、subscribe() 或 unsubscribe() 時的重入風險:重複操作、失去操作和消息傳遞不一致
- 2015 年 11 月:如何編寫安全的智能合約是 DevCon1 上的一個演講,並指出匯款:
總是觸發回退函式的執行 (function() { …} )
→ 使備份功能便宜
→ 準備回調(可能會弄亂你的狀態!)