当前位置: 首页 > news >正文

智能合约漏洞,Dyna 事件分析

智能合约漏洞,Dyna 事件分析

1. 漏洞简介

https://twitter.com/BlockSecTeam/status/1628319536117153794
https://twitter.com/BeosinAlert/status/1628301635834486784

2. 相关地址或交易

攻击交易 1:
https://bscscan.com/tx/0x7fa89d869fd1b89ee07c206c3c89d6169317b7de8b020edd42402d9895f0819e
攻击交易 2:
https://bscscan.com/tx/0xc09678fec49c643a30fc8e4dec36d0507dae7e9123c270e1f073d335deab6cf0
攻击合约:0xd360b416ce273ab2358419b1015acf476a3b30d9
攻击账号:0x0c925a25fdaac4460cab0cc7abc90ff71f410094
被攻击合约:StakingDYNA 0xa7b5eabc3ee82c585f5f4ccc26b81c3bd62ff3a9

3. 获利分析

4. 攻击过程&漏洞原因

整个攻击过程分为两部分:

  1. 准备阶段:
    0x7fa89d869fd1b89ee07c206c3c89d6169317b7de8b020edd42402d9895f0819e
    攻击者准备大量账号,调用 StakingDYNA. deposit 存入少量 DYNA 代币。


在 deposit 函数中,初次 deposit 的账号将会记录下当前 block.timestamp,存储在 stakeDetail.lastProcessAt 中:
2) 攻击阶段:
0xc09678fec49c643a30fc8e4dec36d0507dae7e9123c270e1f073d335deab6cf0
攻击者通过闪电贷获取大量 dyna 代币,先通过上一步的合约调用 StakingDYNA. deposit 将代币存储在 StakingDYNA 合约中,再直接调用 StakingDYNA. redeem 取回利息。
在攻击者第二次 deposit 时,StakingDYNA 合约并未更新时间戳,计算利息的时间差错误计算为 redeem – deposit1,而实际上应该为 redeem – deposit2。因为攻击时 deposit2 与 redeem 在同一 tx 中,interest 应该为 0:


攻击准备 tx 时间:

实际攻击 tx 时间:

http://www.lryc.cn/news/183146.html

相关文章:

  • Elasticsearch基础篇(四):Elasticsearch7.x的官方文档学习(Set up Elasticsearch)
  • 二叉树的遍历方式和代码
  • 小样本学习——匹配网络
  • CSS 常用样式 之字体属性
  • nodejs+vue游戏测评交流系统elementui
  • 1.2.OpenCV技能树--第一单元--OpenCV安装
  • 全志ARM926 Melis2.0系统的开发指引⑥
  • Junit单元测试为什么不能有返回值?
  • 【成像光敏描记图提取和处理】成像-光电容积描记-提取-脉搏率-估计(Matlab代码实现)
  • Ubuntu无法引导启动的修复
  • Windows电脑上的多开软件是否安全?
  • U盘支持启动区+文件存储区的分区方法
  • JavaEE-线程进阶
  • 【开发篇】十五、Spring Task实现定时任务
  • Python常用功能的标准代码
  • Electron.js入门-构建第一个聊天应用程序
  • ubuntu 22.04 更新NVIDIA显卡驱动,重启后无网络图标等系统奇奇怪怪问题
  • Python综合案例:学生管理系统
  • IDT 一款自动化挖掘未授权访问漏洞的信息收集工具
  • 复习 --- 消息队列
  • AcWing 288. 休息时间,《算法竞赛进阶指南》
  • ES6中字符串的扩展
  • GEO生信数据挖掘(四)数据清洗(离群值处理、低表达基因、归一化、log2处理)
  • CI/CD工具中的CI和CD的含义
  • 用go获取IPv4地址,WLAN的IPv4地址,本机公网IP地址详解
  • Android自定义Drawable---灵活多变的矩形背景
  • ParagonNTFSforMac_15.5.102中文版最受欢迎的NTFS硬盘格式读取工具
  • Kafka 搭建过程
  • 七、2023.10.1.Linux(一).7
  • 一文教你搞懂Redis集群