零时科技 || DPC攻击复现

零时科技 || DPC攻击复现

背景

北京时间2022年9月10日,DPC代币合约遭到黑客攻击,损失超73,614 BUSD, 零时科技安全团队及时对此安全事件进行分析,详情可移步至分析文章“零时科技 || DPC攻击事件分析”。

零时科技 || DPC攻击复现

DPC合约简介

DPC合约是一个ERC20代币合约,合约提供兑换、转移代币等功能。用户可以使用USDT兑换获得DPC代币,将DPC代币与USDT进行质押来获得DPC代币奖励。

漏洞核心

由于DPC合约中计算奖励算法存在漏洞,攻击者通过质押流动性代币获得奖励,通过调用函数取出代币时进行奖励累加,在合约中取出任意数量代币都会进行奖励累加操作且对于操作没有频率的限制,并且在奖励累加时会进行两次累加操作,使得计算奖励时会翻倍增加。

1.通过质押代币将oldClaimQuota[] 与 dpcLp[]赋值

零时科技 || DPC攻击复现

2.调用claimStakeLp()函数计算奖励

零时科技 || DPC攻击复现

3. getClaimQuota()函数中可以看到再次执行了ClaimQuota的加法操作,调用一次计算奖励函数时会给奖励进行翻倍。

零时科技 || DPC攻击复现

漏洞测试

攻击合约核心代码

零时科技 || DPC攻击复现

测试结果

攻击合约初始资金为204代币,向被攻击合约质押200代币后调用攻击函数,每调用一次攻击函数向被攻击合约转移1个代币实现奖励累加,调用四次攻击函数后获得的奖励为321代币,将奖励提取至被攻击合约。

零时科技 || DPC攻击复现

漏洞预防

在计算奖励的函数中设置奖励计算的频率,并且设置每次调用函数时传入参数的最小值,避免攻击者可以通过转移小额代币就可以实现奖励的累加。

将计算奖励函数中累加计算改为只进行函数调用,避免一次调用函数实际进行了两次奖励累加。

零时科技 || DPC攻击复现

修改之后用同样的攻击方法获利只有38代币,为正常应获得的奖励数额。

零时科技 || DPC攻击复现

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年10月18日
下一篇 2022年10月18日

相关推荐

  • 量子机器学习进展:哈佛仅用六个铷原子模拟大脑功能

    量子计算有望为机器学习提供计算优势。然而,当前含噪声中等规模量子(NISQ)设备对实现量子机器学习(QML)的优势提出了工程挑战。为了应对这一挑战,近年来出现了一些受大脑计算模型启…

    2022年8月18日
  • 比特早报:东京电力拟联合财团竞购东芝,联想凌拓推出企业级备份解决方案

    2022年7月6日消息,昨夜今晨,科技圈都发生了哪些大事?行业大咖抛出了哪些新的观点?比特网为您带来值得关注的科技资讯: 东京电力据悉拟联合财团竞购东芝 消息人士称,日本最大公用事…

    2022年7月7日
  • 全局变量和局部变量在内存中的区别

    全局变量保存在内存的全局存储区中,占用静态的存储单元;局部变量保存在栈中,只有在所在函数被调用时才动态地为变量分配存储单元。 C语言经过编译之后将内存分为以下几个区域: (1)栈(…

    2022年6月25日
  • 谈谈FC中的Return和Output的区别

    FC来自于英文单词Function的缩写,意为函数。和C/PASCAL语言一样,FC同样也支持返回值(Return)和输出参数(Output)。既然他们都可以从函数获取结果,那我们…

    2022年6月15日
  • 苹果被曝出严重安全漏洞,可被黑客监控?iphone14还值得买吗

    央视财经援引美联社20日报道苹果公司发布两份安全报告称手机iPhone、平板电脑iPad和iMac电脑等产品存在严重安全漏洞。目前苹果已经在紧急寻找解决相应的解决中。一向自称呼注重…

    2022年8月22日
  • 使用Windbg静态分析dump文件(实战经验总结)

    在日常分析C++软件异常的日常工作中,大多数情况下我们都是使用Windbg去静态分析dump文件去排查软件异常的,今天我们就来详细地讲一下如何使用Windbg去静态分析dump文件…

    2022年7月12日
  • python练习:购物结算(代码复制可用)

    ”’ 购物练习:从商品信息中选择要购买的商品和数量计算总价 结算总购物款,购买单个商品数量 计算购买商品次数 ”’ dict_mys…

    2022年7月18日
  • 苹果紧急推送iOS 15.6.1正式版,修复2个重要安全漏洞

      本来苹果已经把更新重点放在 iOS16上了,不过,今日苹果却突然推送了 iOS 15 的新版本—— iOS15.6.1 和 iPadOS 15.6.1 正式版   iOS 15…

    2022年8月19日
  • 数据库培训机构怎么学习?数据库培训班靠谱吗?

    很多初学者在数据库学习的时候,由于学习难度较大,往往不知所措,容易打击学习的自信心,没有了学习的兴趣,这些都是难以避免的。下面主要介绍作为初学者应该怎么学习MySQL。 新手学习数…

    2022年6月15日
  • 人机交互

    大家好,我是Python领域的博主。 如果你是编程爱好者可以小编一起学习,在这里我每天都会发Python的基础知识,以及相关的代码。 如果文章有什么错误的地方,请不吝赐教。 觉得博…

    2022年7月14日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息