背景信息

攻击交易:https://app.blocksec.com/explorer/tx/eth/0x9a1d02a7cb9fef11fcec2727b1f9e0b01bc6bcf5542f5b656c84d6400a1b4604

漏洞合约:https://etherscan.io/address/0x8a30d684b1d3f8f36b36887a3deca0ef2a36a8e3#code

LockedStaking 合约提供质押功能,用户调用 stake 函数质押时会根据质押时长立即计算收益 yield,并且记录在用户的收益 user.yield 上。等到该笔质押的时间过后,用户可以调用 unStake 函数取回本金和收益。

Trace 分析

攻击者不断用同一笔资金进行 startunStake 操作,攻击者创建新合约 strat 存入 500000 VSTR,然后通过 0x1f2c 合约 调用 unStake 取回 520000 VSTR。

start 操作就是通过新创建的合约进行 stake

漏洞分析

问题出在 LockedStaking 合约的 unStake 函数,unStake 函数对质押的状态检查与更新存在问题,导致在用户的质押到期后,可以无限次进行取款。

  1. require 检查的 user.stakeAmount 参数,在 unstake 操作后不更新
  2. unstake 操作后更新的 user.isActive 参数,却不检查。

那么攻击者可以无限次 unstake 来获取 VSTR,为什么还需要创建新合约进行 stake 操作呢?

因为在 unstake 的时候会更新 data.totalStaked -= stakeAmount; ,如果不创建新合约进行 stake 操作增加 data.totalStaked 的值,就会发生下溢出。

【漏洞分析】Vestra DAO 攻击事件:这个质押项目它取款不核销呀的更多相关文章

  1. Java反序列化漏洞分析

    相关学习资料 http://www.freebuf.com/vuls/90840.html https://security.tencent.com/index.php/blog/msg/97 htt ...

  2. Web 漏洞分析与防御之点击劫持(三)

    原文地址:Web 漏洞分析与防御之点击劫持(三) 博客地址:http://www.extlight.com 一.全称 点击劫持,顾名思义,用户点击某个按钮,却触发了不是用户真正意愿的事件. 二.原理 ...

  3. 【漏洞分析】KaoyaSwap 安全事件分析

    相关信息 KaoyaSwap 是 BSC 链上的一个自动做市商 AMM.然后,现在他们的官网 https://www.kaoyaswap.com/ 已经打不开了(如果我打开方式没错的话).所以就直接进 ...

  4. PHPCMS \phpcms\modules\member\index.php 用户登陆SQL注入漏洞分析

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述2. 漏洞触发条件 0x1: POC http://localhost/p ...

  5. FFmpeg任意文件读取漏洞分析

    这次的漏洞实际上与之前曝出的一个 CVE 非常之类似,可以说是旧瓶装新酒,老树开新花. 之前漏洞的一篇分析文章: SSRF 和本地文件泄露(CVE-2016-1897/8)http://static. ...

  6. nginx漏洞分析与升级修复

    一 .此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] nginx安全公告(CVE-2018-16843,CVE-2018-16844)在nginx HTTP / 2实 ...

  7. jQuery CVE-2019-11358原型污染漏洞分析和修复建议

    一.安全通告 jQuery官方于日前发布安全预警通告,通报了漏洞编号为 CVE-2019-11358的原型污染漏洞.由攻击者控制的属性可被注入对象,之后或经由触发 JavaScript 异常引发拒绝服 ...

  8. CPU Meltdown和Spectre漏洞分析

    一.背景: 1月4日,国外爆出了整个一代处理器都存在的灾难性漏洞:Meltdown和Spectre. 几乎影响了全球20年内所有cpu处理器:这两个漏洞可以使攻击者通过利用并行运行进程的方式来破坏处理 ...

  9. Elasticsearch 核心插件Kibana 本地文件包含漏洞分析(CVE-2018-17246)

    不久前Elasticsearch发布了最新安全公告, Elasticsearch Kibana 6.4.3之前版本和5.6.13之前版本中的Console插件存在严重的本地文件包含漏洞可导致拒绝服务攻 ...

  10. Struts2-057/CVE-2018-11776两个版本RCE漏洞分析(含EXP)

    0x01 前言 2018年8月22日,Apache Strust2发布最新安全公告,Apache Struts2存在远程代码执行的高危漏洞(S2-057/CVE-2018-11776),该漏洞由Sem ...

随机推荐

  1. JavaScript – ES6-ES2023 大杂烩

    前言 一年半没有写 JS 了, 今天开始来个大复习, 顺便把这么多年零零散散的知识点做成笔记. 练练字. ES 3, 5, 6, 2017, 2018... ES 6 等于 ES2015 ES 7 等 ...

  2. CSS – 网页设计 Web Design

    前言 Web Design 很广很深. 我记得许多年前第一次想介入设计工作 (我是后端工程师), 我就上网搜索了一下. 就看见了乔布斯著名的一句话: Design is not just what i ...

  3. Magic Quadrant 魔力象限

    前言 在做 Web Application Firewall research 的时候看见了一张图. 这格式之前也看见过, 但没怎么上心, 现在才注意到它很好表达了行业或者产品的市场格局. 于是特地 ...

  4. Identity – 安全基础知识

    前言 一旦涉及到用户, 那么安全就上一个层次了. 这篇主要是说说一些安全的基础 用户密码保存 网络上有太多资料说这些基础了, 我就不拉过来了. 大致记入一些重点就好了. - 为什么不可以明文保存 因为 ...

  5. SSD-KD:天翼云&清华出品,最新无原始数据的蒸馏研究 | CVPR'24

    无数据知识蒸馏能够利用大型教师网络所学到的知识,来增强较小型学生网络的训练,而无需访问原始训练数据,从而避免在实际应用中的隐私.安全和专有风险.在这方面的研究中,现有的方法通常遵循一种反演蒸馏的范式, ...

  6. 深度DFS 和 广度BFS搜索算法学习

    目录 广度优先的动态图 深度优先的动态图 广度和深度的具体步骤 深度和广度的应用场景 图的两种遍历方式: 深度优先遍历(DFS--Depth First Search) 广度优先遍历(BFS--Bre ...

  7. Linux部署东方通TongWeb7

    一.软件版本 操作系统: CentOS 7.5.1804 JDK:1.8_201 东方通:TongWeb7.0.4.2 二.部署流程 2.1 安装JDK 2.1.1 下载JDK并发明回到/opt下解压 ...

  8. 一些rand()的测试

    rand()生成的伪随机数已经足够我们实用,为了跟好的理解rand()跟seed的关系,做了一些测试! rand()函数种子默认为1,在每一次程序运行中,随机数相同,在一次运行中,可将生成数看做随机 ...

  9. 【赵渝强老师】Weblogic域和域的组成

    一.什么是Weblogic WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于Java EE架构的中间件,WebLogic是用于开发.集成.部署和 ...

  10. 【Wing】背后的插件们

    wing 作为我们日常开发的命令行开发工具,项目开源以来,陆陆续续接入了多个插件,在这里集中分享给大家. ☞ Github ☜ ☞ Gitee ☜ 01. wing -screen 作为Android ...