慢雾:Spartan Protocol被黑简析
慢雾分析Spartan Protocol被黑:
1.攻击者通过闪电贷从PancakeSwap借出WBNB;
2.在WBNB-SPT1池中,用借来的部分WBNB通过Swap兑换成SPT1,导致兑换池中产生巨大滑点。
3.攻击者将持有的WBNB与SPT1向WBNB-SPT1池添加流动性获得LP凭证,由于滑点修正机制,获得的LP数量并不是正常值。
4.进行Swap操作将WBNB兑换成SPT1,池中WBNB增多SPT1减少。
5.Swap后将持有的WBNB和SPT1转移给WBNB-SPT1池,进行移除流动性操作。
6.移除流动性时会通过池中实时的代币数量来计算用户的LP可获得多少对应的代币,由于步骤5,此时会获得比添加流动性时更多的代币。
7.在移除流动性后会更新池子中的baseAmount与tokenAmount,由于移除流动性时没有和添加流动性一样存在滑点修正机制,移除流动性后两种代币的数量和合约记录的代币数量会存在一定差值。
8.在与实际有差值的情况下还能添加流动性获得LP,此后攻击者只要再次移除流动性就能获得对应代币。
9.攻击者只需将SPT1代币兑换成WBNB,即可获得更多WBNB。
> 本文链接:https://www.8btc.com/article/6630045
转载请注明文章出处
原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/bhq/2766.html