学习和梳理近年的DeFi攻击事件。
可以销毁任意用户的tcrToken代币?听起来好像是损人不利已的鸡肋漏洞,黑客是如何搞到63.9万的USDT的呢?
攻击步骤描述,深入分析
用rust开始eth, ethers-rs,打开钱包,签个名。
在合约代码中,最常用的是使用msg.sender来检查授权,但有时由于有些程序员不熟悉tx.origin和msg.sender的区别,如果使用了tx.origin可能导致合约的安全问题。黑客最典型的攻击场景是利用tx.origin的代码问题常与钓鱼攻击相结合的组合拳的方式进行攻击。
tx.origin的代码问题常与钓鱼攻击相结合的组合拳
上篇文章中我们了解了什么是 delegatecall 函数以及一个基础的漏洞,这篇文章的目的是加深一下大家对 delegatecall 的印象并带大家一起去玩点刺激的,拿下一个进阶版的漏洞合约。
所有存储在区块链上都是公开可见的,包括合约的私有状态变量!所以不要在区块链上存储密码和私钥,而且对于确实需要存储的敏感数据尽量使用hash比对的存储密文hash。通过本文可以理解合约数据的存储,并学会访问合约的状态变量数据。
5 月 25 日,推特用户 @0xLosingMoney 称监测到 ID 为 @Dvincent_ 的用户通过钓鱼网站 p2peers.io 盗走了 29 枚 Moonbirds 系列 NFT,价值超 70 万美元,钓鱼网站目前已无法访问。该用户表示,域名 sarek.fi 和 p2peers.io 都曾在过去的黑客事件中被使用。
上篇文章中我们学习了合约中数据的存储方式以及如何读取合约中的各种数据。这次我们将带大家了解 delegatecall 函数。
本文向大家介绍了常见的合约漏洞,自动化监测合约漏洞的工具以及链上漏洞的应对方案。这些内容不仅仅对大家更好保护资产有帮助而且也有助于更加深入理解智能合约的运作流程。