http://www.7klian.com

如何防备恶意执行顺序与重现DAO进攻




original.donate.value(amount).gas(4000000)(address(this));//need to add value to this fn
· 恶意外部条约大概会滥用提款权

Reentrance public original = Reentrance(YOUR_INSTANCE_ADDR);

什么是重入进攻?


contract Reenter {
此Ethernaut级别操作此重入问题以及导致DAO黑客进攻的以下其他因素:
1、建设一个名为Reenter.sol的恶意条约,该条约将首先捐赠给Reentrance.sol,然后递归地从中退出,直到Reentrance耗尽资金。



重入进攻产生在单线程计较情况中,当执行仓库跳转或挪用子例程时,在返回到原始执行之前。


uint public amount = 1 ether; //withdrawal amount each time
}

}


· 任何人都可以挪用Fallback函数并执行恶意代码

一方面,这种单线程执行确保了智能合约的原子性,,并消除了一些竞争条件。另一方面,合约容易受到执行

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。