上篇文章中我们学习了合约中数据的存储方式以及如何读取合约中的各种数据。这次我们将带大家了解 delegatecall 函数。
所有存储在区块链上都是公开可见的,包括合约的私有状态变量!所以不要在区块链上存储密码和私钥,而且对于确实需要存储的敏感数据尽量使用hash比对的存储密文hash。通过本文可以理解合约数据的存储,并学会访问合约的状态变量数据。
参考:操纵预言机+提案攻击—Fortress Loans被黑事件分析 黑客操作分析,提案操作,恶意合约(5月8日)
上次我们了解了 solidity 中自带的函数——自毁函数,相信大家多少已经对它有所了解,这次我们将了解如何访问合约中的私有数据(private 数据)。
本文通过编写有漏洞的合约,来了解如何攻击并理解如何预防漏洞的发生。
在链上复现漏洞时,需要明确上链的类型及可相关联的钱包。之后通过领取测试币,部署合约,发起交易,从而实现链上智能合约的测试。
本文通过编写一个有漏洞的合约,分析如何攻击、预防并修复漏洞
tx.origin攻击实现,一次调用,转干合约
该方法也不一定是万能的,项目方需要结合自身的场景,合理运用该算法,达到良好的效果。
近年来,各个大型CTF(Capture The Flag,中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式)比赛中都有了区块链攻防的身影