首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
缓存
漏洞
makefile
vb
python
api
ftp
yaf
iis
sockets
timezone
frontend
web3
service
localhost
php绘图
crash
分布式
session
queue
redis
mq
yii
http2
timeout
smtp
django
gcc
tengine
cache
rust
token
cPlusPlus
thinkphp
http
nodejs
laravel
hashmap
多线程
mysql
cookies
pipeline
protocol-buffers
base64
sftp
cron
pipe
webserver
mqtt
ruby
lavarel
ffmpeg
varnish
x86
dns
uuid
压力测试
ci
php
golang
memcache
微服务
package
sms
注入
interface
nginx
h2
touch
正则
mvc
syslog
c语言
pdo
phpmyadmin
并发
rabbitmq
gzip
lvs
当前位置:
开发笔记
>
后端
> 正文
重入攻击如何破解?DexFinance损失约400万美元攻击事件分析
作者:_戒咗微博地_100 | 来源:互联网 | 2023-10-11 17:14
2022 年 11 月 10 日,根据区块链安全审计公司 Beosin 旗下Beosin EagleEye 安全风险监控、预警与阻断平台监测显示,Dex Finance 合约遭到黑客重入攻击,造成了约
2022 年 11 月 10 日,
根据区块链安全审计公司 Beosin 旗下
Beosin
EagleEye 安全风险监控、预警与阻断平台监测显示,
Dex Finance 合约遭到黑客
重入攻击
,造成了约 400 万美元的损失,
而漏洞的关键点在于
闪电贷业务与合约其他业务的组合性问题。
Beosin 安全团队现将事件分析结果与大家分享如下。
* 该攻击漏洞与某个 CTF 挑战题目非常类似(CTF 题目链接:damnvulnerabledefi.xyz/challenges/4.html)。
#闪电贷背景介绍
我们先来看看正常闪电贷的逻辑:
1、获取用户传入的贷款币种与数量;
2、将用户指定代币发送给用户;
3、调用用户的指定函数;
4、判断用户是否归还借出代币。
仅看闪电贷的逻辑,并不能发现有什么问题,但一般闪电贷项目都不仅仅只提供闪电贷服务,有些还会提供质押、提取等业务,那这就存在一个潜在问题,
如果用户在指定函数中将借出的代币再次进行抵押,而抵押的合约正是闪电贷合约,那么是否存在闪电贷将抵押代币错当成用户归还的代币的可能呢?
答案显而易见是肯定的。让我们仔细想想,用户在闪电贷中重新抵押代币之后,影响的是闪电贷合约中代币的数量,如果闪电贷在第 4 步判断用户是否归还借出代币的依据是根据合约前后余额来判断,那么会出现什么问题呢?
则用户便可以在闪电贷过程中使用抵押的方式使得合约余额增加到最初始的值,而抵押后,抵押业务会将这笔代币当作是用户抵押的资产,可供用户后续提取,而闪电贷业务会将这笔代币当作是用户归还的资产,而通过最终验证。换句话说,同样一笔钱,获得了两次使用,使得用户可以在闪电贷结束之后,凭空多出一笔抵押的“存款”。
接下来进入本次事件主题,本次的主角,便是这类项目。由于攻击交易繁多,选择其中一条交易进行分析。
#事件相关信息
攻击交易:
0x52c53c5a2ae3082b8765dd5924d6ad0dc704223f6d0c98325a1b9ccd9d134ef7
黑客地址:
0x14c19962e4a899f29b3dd9ff52ebfb5e4cb9a067
黑客合约:
0x6cfa86a352339e766ff1ca119c8c40824f41f22d
#攻击流程
1.
首先,攻击者通过
DEX
项目的
闪电贷
业务
借出
了
14w
美元的
XIDR
代币与
9.5w
美元的
USDC
,但从代币交易看来,黑客立马就归还了闪电贷,这就有点不合逻辑了,一般闪电贷借出资金后,会进行一些其他交易,最终再进行还款。
所以我们得从交易具体数据来分析。
2.从交易数据来看,黑客并不是归还了闪电贷,而是在闪电贷中进行了抵押操作,这就和我们上面说的很像。
3.我们来看看 DEX 合约代码。
4.还真是这样,项目方在进行用户归还判断的过程中,使用的是前后余额来进行判断。那我们再来看看抵押函数与提取函数:
deposit:
withdrew:
5.可以看到,在 deposit 函数中,攻击者将代币转给闪电贷合约提供流动性,合约给攻击者铸了凭证代币,而攻击者拿着凭证代币便可使用 withdraw 函数将代币提取出来。而最终闪电贷判断也将通过。
6.攻击者进行了多次的攻击,共获利 400w 美元左右。Beosin Trace 正在对被盗资金进行实行监控。
#总结
针对本次事件,Beosin 安全团队建议:
1.闪电贷过程中做好防重入。2.闪电贷归还判断尽量不使用本合约余额的形式进行判断。
Beosin 作为一家总部位于新加坡的区块链安全公司,业务涵盖项目上线前的代码安全审计、项目运行时的安全风险监控、预警与阻断、虚拟货币被盗资产追回、安全合规 KYT/AML 等“一站式”区块链安全产品 + 服务,目前已
为全球 2000 多个区块链企业提供安全技术服务,审计
智能合约
超过 2500 份,保护客户资产高达 5000 多亿美元。
欢迎点击公众号留言框,与我们联系。
2022 年 Q3 全球区块链生态安全报告
* 公众号后台回复
“Q3”
可获取《2022 年 Q3 全球区块链生态安全报告》完整版。
区块链
安全
漏洞
html
智能合约
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
漏洞
360SRC安全应急响应:从漏洞提交到修复的全过程
本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ...
[详细]
蜡笔小新 2024-12-27 11:10:05
service
雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ...
[详细]
蜡笔小新 2024-12-22 21:59:11
漏洞
SQL Server 错误 18470:用户 'sa' 登录失败,原因:帐户被禁用的解决方案
本文详细介绍了如何解决 Microsoft SQL Server 中用户 'sa' 登录失败的问题。错误代码为 18470,提示该帐户已被禁用。我们将通过 Windows 身份验证方式登录,并启用 'sa' 帐户以恢复其访问权限。 ...
[详细]
蜡笔小新 2024-12-20 18:41:13
cache
探索Squid反向代理中的远程代码执行漏洞
本文深入探讨了在网站渗透测试过程中发现的Squid反向代理系统中存在的远程代码执行漏洞,旨在帮助网站管理者和开发者了解此类漏洞的危害及防范措施。 ...
[详细]
蜡笔小新 2024-12-16 19:01:38
漏洞
正则表达式引发的拒绝服务攻击(ReDoS)解析
正则表达式是一种强大的文本匹配工具,但在不当使用时,也可能成为安全漏洞的源头,特别是当它们被恶意利用以触发拒绝服务(DoS)攻击时。本文将深入探讨正则表达式如何成为攻击者的目标,并提供防范策略。 ...
[详细]
蜡笔小新 2024-12-16 13:08:56
漏洞
读书笔记:《工业互联网技术与实践》解析
本文探讨了当前技术发展趋势,特别是大数据和人工智能如何推动工业互联网的发展。文章分析了全球主要国家在工业互联网领域的进展,并展望了未来工业互联网技术的发展方向。 ...
[详细]
蜡笔小新 2024-12-16 10:37:38
漏洞
jQuery Mobile 安全漏洞可能导致XSS攻击
近期,谷歌公司的一名安全工程师Eduardo Vela在jQuery Mobile框架中发现了一项可能引发跨站脚本攻击(XSS)的安全漏洞。此漏洞使得使用jQuery Mobile的所有网站面临潜在的安全威胁。 ...
[详细]
蜡笔小新 2024-12-15 12:43:59
漏洞
个人用户可借鉴的企业级三大安全准则
在数字时代,个人数据安全变得尤为重要。本文将探讨三个来自企业实践的安全原则,这些原则不仅适用于企业,也能帮助个人用户提升自身的信息安全防护水平。 ...
[详细]
蜡笔小新 2024-12-13 19:05:33
漏洞
信息安全小组第一周工作总结
本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ...
[详细]
蜡笔小新 2024-12-28 05:52:22
漏洞
2023年全球运营商网络设备市场预计突破202亿美元
尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ...
[详细]
蜡笔小新 2024-12-27 12:44:44
漏洞
网络攻防实战:从HTTP到HTTPS的演变
本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ...
[详细]
蜡笔小新 2024-12-27 11:34:50
漏洞
福克斯新闻数据库配置失误导致1300万条敏感记录泄露
由于数据库配置错误,福克斯新闻暴露了一个58GB的未受保护数据库,其中包含约1300万条网络内容管理记录。任何互联网用户都可以访问这些数据,引发了严重的安全风险。 ...
[详细]
蜡笔小新 2024-12-22 17:57:10
vb
USDC 面临的信任危机:多方探讨其稳定性及潜在救援方案
本文深入分析了 USDC 的稳定性和可能的救援措施,探讨了在硅谷银行破产后 USDC 面临的风险以及行业内的反应。 ...
[详细]
蜡笔小新 2024-12-22 16:05:49
漏洞
SQL数据库面试题解析
本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ...
[详细]
蜡笔小新 2024-12-22 14:43:35
漏洞
德国Natus医疗设备曝出RCE与DoS重大安全漏洞
德国医疗设备制造商Natus的产品被发现存在严重的远程代码执行(RCE)和拒绝服务(DoS)漏洞,这些漏洞可能使攻击者能够在未授权的情况下控制设备或使其停止工作。 ...
[详细]
蜡笔小新 2024-12-14 15:03:18
_戒咗微博地_100
这个家伙很懒,什么也没留下!
Tags | 热门标签
缓存
漏洞
makefile
vb
python
api
ftp
yaf
iis
sockets
timezone
frontend
web3
service
localhost
php绘图
crash
分布式
session
queue
redis
mq
yii
http2
timeout
smtp
django
gcc
tengine
cache
RankList | 热门文章
1
前端实现控制表格列的显示与隐藏以及拖拽列的顺序
2
对git分支如何应对紧急上线
3
vuecli3直接import umd规范的js报错,而通过npm安装则不会
4
什么是php标准库?
5
08Nginx日志切割脚本+定时任务自动切割日志
6
教你学日文
7
Stream流中flatMap的用法
8
simpleui 3.0 发布,以修改 bug 为主
9
mysql5.6 icp mrr bak_ICP、MRR、BKA等特性
10
声明chan时,设置大小的区别。
11
minikube 安装过程附带报错解决办法
12
【C语言】字符串常量与指针
13
虾皮内推, 最近有专场哈~一天走完所有流程
14
org.apache.commons.io.input.AutoCloseInputStream.reset()方法的使用及代码示例
15
代码在jsfiddle.net可以运行,在浏览器上没反应
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有