20250528 - Usual 攻击事件: 价差兑换与请君入瓮
背景信息
项目背景
VaultRouter 合约有用特权身份,可以通过 Usd0PP 合约将 USD0++ 以 1:1 的比例兑换成 USD0,随后通过 UniV3 将 USD0 swap 成 sUSDS,并 deposit 成 usUSDS 发送给用户。
攻击概述
在本次 Usual 攻击事件中,攻击者首先创建了恶意的 [USD0, sUSDS] 池子,然后利用 VaultRouter 合约的特权身份,将 1899838 USD0++ 以 1:1 的比例兑换成 USD0,并且在恶意池子中将 USD0 兑换为 sUSDS。随后攻击者通过移除流动性的方式获取所有的 USD0。最后通过 USD0USD0++ 市场将 1899838 USD0 兑换成 1943686 USD0++,兑换比例为 1 : 1.02,获利 43847 USD0++。
漏洞成因
- VaultRouter 合约可以将 USD0++ 以 1:1 的比例兑换成 USD0,与市场价 1 : 1.02 存在价差。
- VaultRouter 和 Augustus 合约均没有对传入的 swapData 进行检查,使得攻击者可以操控 USD0 swap sUSDS 这一步骤在全部流动性均为自己添加的、且价格失衡的恶意池子中进行。
相关链接
Alert:https://x.com/BlockSecTeam/status/1927607817378177316
漏洞合约:
VaultRouter:https://etherscan.io/address/0xe033cb1bb400c0983fa60ce62f8ecdf6a16fce09#code
VaultRouter:https://etherscan.io/address/0xe033cb1bb400c0983fa60ce62f8ecdf6a16fce09#code
Trace 分析
Trace 概览
- 创建恶意的 [USD0, sUSDS] 池子,并向其添加了 10 wei 的 sUSDS
- 执行闪电贷
- 将获利资金兑换成 ETH
FlashLoan 分析
攻击者在闪电贷内执行了本次攻击,具体做了以下操作:
- VaultRouter.deposit()
- 移除 2.1 中创建的池子流动性
- USD0USD0++.exchange() USD0 -> USD0++
- USD0USD0++.exchange() USD0++ -> USD0
- Uniswap V3: Router.exactInput() USD0 -> ETH
- 归还闪电贷
VaultRouter.deposit()
- 首先通过 Usd0PP.unwrapWithCap() 函数将 USD0++ 按照 1:1 的比例换成 USD0
- VaultRouter 在攻击者创建的恶意池子中将 1899838 USD0 兑换成 5wei sUSDS
- 将兑换得到的 5wei sUSDS 通过 deposit() 质押成 usUSDS 并发送给攻击合约(不重要)
移除流动性
攻击者将 VaultRouter 在 2.2.1 中 swap 进去的 1899838 USD0 通过移除流动性的方式取出
exchange USD0 -> USD0++
攻击者通过 USD0USD0++.exchange() 将 1899838 USD0 兑换成 1943686 USD0++,兑换比例为 1 : 1.02,获利 43847 USD0++
exchange USD0++ -> USD0
攻击者随后又将获利部分的 43847 USD0++ 兑换成 42973 USD0
exactInput() USD0 -> ETH
42973 USD0 兑换成了 15 WETH
归还闪电贷
代码分析
Usd0PP 合约允许 VaultRouter 将 USD0++ 以 1:1 的比例兑换成 USD0
VaultRouter 没有对 augustus 使用的参数 data 进行检查和限制,这使得攻击者可以传入自己构造的恶意池子(相同币种不同费率),从而在 USD0 -> sUSDS 兑换完成后可以通过移除流动性的方法取回所有 USD0。
20250528 - Usual 攻击事件: 价差兑换与请君入瓮的更多相关文章
- 新浪微博XSS攻击事件
http://blog.csdn.net/terryzero/article/details/6575078 6月28日20时14分左右开始,新浪微博出现了一次比较大的XSS攻击事件.大量用户自动发送 ...
- GitHub源码攻击事件
黑客擦除了微软多达392个代码存储库,并提出勒索要求.此前,黑客攻击了包含微软在内的大批受害者的Git存储库,删除了所有源代码和最近提交的内容,并留下了支持比特币支付的赎金票据. 勒索信息如下: “要 ...
- 孟加拉央行SWIFT攻击事件恶意木马分析(转)
第一章 分析概述 该恶意木马样本为运行于winodws平台上的PE文件(名称:evtdiag.exe).文件大小为64KB,编译时间是2016年2月5日. 经分析,该样本为定制的攻击SWIFT客户端程 ...
- 常见web攻击以及防御
xss攻击: 跨站脚本攻击,攻击者在网页中嵌入恶意代码,当用户打开网页,脚本程序便开始在客户端的浏览器上执行,以盗取客户端cookie,用户名密码,下载执行病毒木马程序,甚至是获取客户端admin权限 ...
- 漫画告诉你什么是DDoS攻击?
本文作者:魏杰 文章转载自:绿盟科技博客,原文标题:看ADS如何治愈DDoS伤痛 根据<2015 H1绿盟科技DDoS威胁报告>指出,如今大流量网络攻击正逐渐呈现增长趋势,前不久锤子科技的 ...
- 利用WPS 2012/2013 0day针对中国政府部门的定向攻击
今天早上,我们捕获到一个利用wps 2012/2013 0day针对中国政府部门的钓鱼邮件定向攻击事件. 邮件发件人以2014中国经济形势解析高层报告组委会 标题发出,附件为包含wps2012 0da ...
- 新浪微博的XSS漏洞攻击过程详解
今天晚上(2011年6月28日),新浪微博出现了一次比较大的XSS攻击事件.大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建 党大业中穿帮的地方”,“让女人心动的100句诗歌”,“3D肉 ...
- XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析
2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...
- 【服务器防护】WEB防护 - WEBSHELL攻击探测【转载】
原文:http://www.2cto.com/Article/201511/451757.html 1. 什么是webshell? 基于b/s架构的软件部署在Internet上,那么安全性是必 ...
- DDOS攻击原理及防护方法论
从 07年的爱沙尼亚DDOS信息战,到今年广西南宁30个网吧遭受到DDOS勒索,再到新浪网遭受DDOS攻击无法提供对外服务500多分钟. DDOS愈演愈烈,攻击事件明显增多,攻击流量也明显增大,形 ...
随机推荐
- C#语言碎片:Switch-Case语句字符串匹配
Switch case语句在处理字符串类型匹配时候,case条件需要设置为静态常量或者一个具体的字符串: 因为工具类ToolHand.Name 为变量,所以编译不通过. 使用if语句来逐个判断: 看A ...
- Windows下PostgreSQL设置远程连接以及备份和恢复数据库
一.设置远程连接 修改安装路径下的postgresql.conf,定位到listen_address = '*',确保其值为'*'(Windows下默认是这样的,可不用修改) 修改安装路径下的pg_ ...
- PIO----创建Excel表格复杂使用
导出 @RequestMapping( name = "下载模板附件实现Model", value = {"/uploadFileModel"}, method ...
- Docker Swarm多节点环境的搭建(二): Docker的集群调配
Docker的集群调配在上篇文章中介绍了如何如何在多个CentOS中安装Docker应用.本文章为大家介绍如何实现对已安装的这一堆机器实现集群化.Docker Swarm运行Spring Cloud应 ...
- Windows下安装使用OpenLDAP
LDAP:(轻量级目录访问协议,Lightweight Directory Access Protocol)它是基于 X.500标准的,但是简单多了并且可以根据需要定制.与X.500不同,LDAP支持 ...
- List集合分页处理的方法
参考https://www.cnblogs.com/cmz-32000/p/12186362.html 解决了数组越界问题 参数页码大于总页码时返回null(可根据自己业务调整为返回最后一页数据) s ...
- swich语句
1.switch语句格式 括号内的是待匹配内容,然后case后的是被匹配内容,如果括号内的内容与case后的内容一致,则会打印语句体 . 2.实操(后面的省略了) 3.注意事项 1.case后面的值不 ...
- 【Linux】5.5 Shell运算符
Shell运算符 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现 ...
- 创建的容器都是没有指定 volume的,为什么docker volume ls命令会看到很多volume列表?
有那么一天,停止了世界所有的容器(在你电脑上),执行以下命令 docker volume ls docker volume ls | wc -l 哎呦,我去,怎么这么多啥玩意,再执行以下命令看占了我多 ...
- Docker 初始镜像 scratch
初识 scratch 有那么一天,我们在这里邂逅了镜像scratch... 先来搜索下这个镜像 docker search scratch NAME DESCRIPTION STARS OFFICIA ...