masterChef的使用程度之广泛远超我的想象,之前写过一版本的分析,但是自己的认知还是不深刻。这次借用Paradigm的一篇分析文章,把masterchef重新再梳理一下。
合约中储存与计算分离的思路有什么风险呢?
最近在项目中要使用到Timelock和权限管理部分,故查阅了下Openzepplin的相关实现,意外发现Openzepplin在前两天刚刚给Timelock打补丁,原因是Timelock合约在今年8月份前的版本实现中存在一个严重的漏洞,允许任何执行者升级其权限成为admin,而执行恶意程序。
Timelock
Openzepplin
admin
在UUPS中,其实现了EIP-1967. EIP-1967的目的是规定一个通用的存储插槽,用于在代理合约中的特定位置存放逻辑合约的地址。
前段时间跟行业内人士聊天的时候,聊到了一个有趣的话题,即以太坊中私钥,公钥和地址分别是什么关系?以及ECDSA是如何工作的?
Fei protocol是一个稳定币项目,这篇文章主要是Fei Protocol在合约编写中的一个漏洞分析,由于该漏洞发现的早,并未部署在主网上,故没有造成任何损失。
本题的核心思想跟之前做过的一道题目:Consensys CTF-02 栈溢出重定向利用的核心思想一致,即找到合约中的一个入口函数,通过该函数可以手动的构造一个栈。在手动构造的栈中,按照函数调用的顺序,将所需要的参数依次放入手动构造的栈里,然后依次调用所需的函数。最后找到一个出口,一般是一个jump Destination,结束调用。
求推荐ABIEncoderV2的相关材料,谢谢
基于samczsun的解析文章学习.Consensys在如下地址0x68cb858247ef5c4a0d0cde9d6f68dce93e49c02a部署了一个合约,合约名称叫做以太坊沙盒,其没有公开源代码,要求黑客们攻破该沙盒,拿出该合约中的所有ETH。
0x68cb858247ef5c4a0d0cde9d6f68dce93e49c02a
本题目是Paradigm的CTF系列中的一道,属于较为简单的题目。它主要考察了StaticCall这一知识点。
在具体写代码的时候,会发现一个问题:即如何合适的表达小数?一种简单的思路是把小数都乘以10^18,但是需要考虑到会不会溢出,以及后续还需要一个除法才行。
这是Paradigm CTF的一道题,:laughing:这道题考察的知识点比较多,涉及到ABI编码,RLP编码,黄皮书中附录F等。可以看作是一个编码相关的大集合题目。
本文是Paradigm CTF的Bouncer系列,这个系列需要与Uniswap进行交互,调试OPCODE的时间会少一点,对DEFI生态的考察会更多一点。DEFI积木如何互相影响,是这个系列的一个考察点。
Hint finance
整体的思路是特洛伊木马token的思路,重入masterChef中的 depositByAddLiquidity方法。该方法的核心错误逻辑在于:它只检查了lpToken的地址合法性,没有检查token0,token1的地址合法性。从而让token0可以做成一个特洛伊木马,在token0里面transfer一个合法的token,从而成功添加流动性;而导致deposit重复计算。