Transaction 信息:https://etherscan.io/tx/0x0ec3f2488a93839524add10ea229e773f6bc891b4eb4794c3337d4495263790b
参考文章:
【1】https://learnblockchain.cn/article/644
【2】https://cloud.tencent.com/developer/article/1084243?from=15425
攻击执行流程:
1.建议拆分, 等到投票期(voting period)结束。(DAO.sol, newProposal)
2.执行拆分。(DAO.sol, splitDAO)
3.让DAO将新的DAO发送给它的代币。(splitDAO - > TokenCreation.sol, createTokenProxy)
4.确定DAO在更新你的余额之前尝试发送给你奖励, 但需在完成(3)之后。(splitDAO - > withdrawRewardFor - > ManagedAccount.sol, payOut)
5.当DAO执行(4)时, 让它再次运行splitDAO, 其参数与(2)中的相同(payOut - > _recipient.call.value - > _recipient())
6.DAO现在会向您发送更多子代币, 并在更新余额前提现您的奖励。(DAO.sol, splitDAO)
7.回到(5)!
8.调用transfer()发送Dao到下一个合约以便下一次攻击。
9.让DAO更新你的余额。因为它从来不会从(7)回到(5)
相关文章
- 10-03模块划分--MVVM指南(课程学习)
- 10-03LDA主题模型学习笔记5:C源代码理解
- 10-03【转】shell学习笔记(三)——引用变量、内部变量、条件测试、字符串比较、整数比较等
- 10-03[('type','=','get_user_ht_type()')]">openerp学习笔记 domain 增加扩展支持,例如支持
[('type','=','get_user_ht_type()')] - 10-03Objective -C学习笔记 之copy(复制)
- 10-03集成学习(Ensembling Learning)
- 10-03自己写一个在线学习网站记录之按照不同的筛选条件筛选符合条件的数据并显示
- 10-03【C++学习之路】派生类的构造函数(三)
- 10-03Python学习笔记_列表
- 10-03《动手学深度学习》Task06-1:批量归一化和残差网络