整体的思路是特洛伊木马token的思路,重入masterChef中的 depositByAddLiquidity方法。该方法的核心错误逻辑在于:它只检查了lpToken的地址合法性,没有检查token0,token1的地址合法性。从而让token0可以做成一个特洛伊木马,在token0里面transfer一个合法的token,从而成功添加流动性;而导致deposit重复计算。
本文主要包括了笔者学习智能合约开发和智能合约安全方面的,并且根据过去学习的经验,总结了一些优质的学习资源。文章主要包括:优质社区、入门参考、合约教程、区块浏览器、合约库、集成框架、DApp 前端、合约安全审计、漏洞分析、底层源码阅读参考。希望抛砖引玉,欢迎讨论。