关于合约安全
- fallback函数,是一个匿名不带参数的函数。
- 当外部账户或其他合约向该合约地址发送 ether 时;
- 当外部账户或其他合约调用了该合约一个不存在的函数时;
漏洞几个方式:
- reentrancy漏洞
1.1 外部账户或者合于对合约地址发送以太的时候,就会调用一个匿名的fallback函数。
1.2漏洞合约使用to.call.value()的方式,执行成功才会扣用户钱,会用尽所有gas进行转账。
fallback进行攻击,fallback没有返回,callvalue使用很多gas,所以一直没扣钱,一直掏空漏洞合约的钱。
涉及到fallback函数和gas.call().value()
漏洞合约使用gas.call().value()
网友评论