需求:
转入合约一定数量其他代币+BNB,合约根据转入的BNB+ZXD自动加池子
代码如下:
攻击:
addLiquidty() 为public,且没有权限判断,而合约里本身有预存的ZXD,攻击者可以通过转入BNB到合约,然后触发addLiquidty(),再 removeLiquidty(),从而盗取合约里面的ZXD,然后卖掉套利。
解决方案:
addLiquidty() 设置为private,同时以后写合约注意,不需要的函数方法都应该设置为private,以避免出现漏洞。
需求:
转入合约一定数量其他代币+BNB,合约根据转入的BNB+ZXD自动加池子
代码如下:
攻击:
addLiquidty() 为public,且没有权限判断,而合约里本身有预存的ZXD,攻击者可以通过转入BNB到合约,然后触发addLiquidty(),再 removeLiquidty(),从而盗取合约里面的ZXD,然后卖掉套利。
解决方案:
addLiquidty() 设置为private,同时以后写合约注意,不需要的函数方法都应该设置为private,以避免出现漏洞。