当前位置:网站首页>How I secured 70,000 ETH and won a 6 million bug bounty
How I secured 70,000 ETH and won a 6 million bug bounty
2022-08-01 10:02:00 【Xijing Swordsman】
Article table of contents
How I secured 70,000 ETH and won a 6 million bug bounty
Original link: https://pwning.mirror.xyz/CB4XUkbJVwPo7CaRwRmCAPaP2DMjPQccW-NOcCwQlAs
Hello!I'm pwning.eth, a wanderer in the hacker space who recently jumped into the crypto world.A few months ago, I reported a critical bug in the Aurora engine, a layer 2 EVM solution based on the NEAR protocol.At least 70,000 ETH was at risk of being stolen until I discovered the thorny vulnerability and helped the Aurora team fix it.If 200 million tokens were taken over by black hackers, it would be the top five heists in Defi history.In the end, I won a bug bounty of 6 million, which is the second largest bounty in history.
I'm an experienced white hat Hacker from the Web2 world.I've seen hacks in the crypto world for a while and there's a lot of randomness!I'm not surprised by the astronomical profits of Defi Hackers, since real-world criminals also make a lot of money. However, I really feel for the story of Saurik, a famous hacker in the IOS jailbreak communityShock.The scale of his bug bounties is unheard of in the traditional security world, so I can't wait to start my own treasure hunt in Web3.
I first check the bounty list on Immunefi.The Aurora Bounty Program, listed at the top of the site, caught my eye due to its huge bounty offer.This is a new type of project made by a group of talented engineers, which suggests that it might be complex enough to be immune to common Defi Hackers, and mysterious enough that I could learn something magical.Because of my experience in hacking modern complex systems, I was able to quickly start researching new blockchains. I reviewed the Aurora bridge and it was a solid project.Then I looked into the Aurora engine and found the unicorn bug within a few hours.Unlike normal defi exploits, I thought I was quick and lucky to randomly identify this bug, so I took the time to verify and replicate this bug in case it was a false positive.I spent days studying, building, learning, testing and finally finalizing the report.
I tried contacting the Aurora team on Discord, messaging the official bounty email, and submitting issues via Immunefi.They quickly identified and patched the vulnerability, official link.Their reward for critical vulnerabilities in smart contracts is calculated as 10% of their potential economic damage, worth up to $6,000,000. In this case, the potential damage may be ten times higher than this maximum reward.Therefore, I am eligible to receive the maximum possible amount in the form of locked Aurora tokens, with a total value of $6,000,000.Listed on Immunefi, a very wise and lucky move :)
Technical details have been explained by Immunefi.Here is my short summary:
- Aurora engine implements bridging tokens in pre-built contracts with hardcoded addresses.They are magic bridges for connecting Ethereum, NEAR and Aurora.
- Vulnerable contracts are issued at a specific address in bridge events, assuming
msg.valueis collected by itself.
However, if the contract is called bydelegatecall(),msg.valueis never sent to the contract, but logs are sent as usual. - By repeating malicious withdrawals, an attacker can exponentially double the balance.Infinite inflation of ETH could disrupt Aurora's entire ecosystem: all 71K ETH in Aurora's account could be depleted, and the free ETH could have bought other valuable tokens.(Billions of TVLs on the Aurora Bridge)
If you're hardcore enough, you might find The original report and script is fun, enjoy!
边栏推荐
- 使用ESP32驱动QMA7981读取三轴加速度(带例程)
- node 格式化时间的传统做法与高级做法(moment)
- STM32个人笔记-嵌入式C语言优化
- CTO强烈禁止使用Calendar,那用啥?
- SQL Server database schema and objects related knowledge notes
- 使用KeyStore生成证书
- Quantify daily work metrics
- ASP.NET Core 6 Framework Revealing Instance Demonstration [30]: Develop REST API with Routing
- net stop/start mysql80 access denied
- 阿里腾讯面试一二
猜你喜欢

如何在IntellJ IDEA中批量修改文件换行符

Comprehensive experiment BGP

opencv创建窗口—cv.namedWindow()

mysql在cmd的登录及数据库与表的基本操作

Detailed explanation of JVM runtime data area and JMM memory model

【应用推荐】常见资源管理器整理,含个人使用体验和产品选型推荐

Opencv creates a window - cv.namedWindow()
![[Software Architecture Mode] The difference between MVVM mode and MVC mode](/img/37/8470ff9267752d4ca26a6b54ec0b50.png)
[Software Architecture Mode] The difference between MVVM mode and MVC mode

已解决(pip安装库报错)Consider using the-- user option or check the permissions.

记一次 .NET 某智慧物流WCS系统CPU爆高分析
随机推荐
周鸿祎称微软抄袭 360 安全模式后发文否认;英特尔CEO基辛格回应市值被AMD超越:股价下跌是咎由自取|极客头条
7. SAP ABAP OData 服务如何支持 $orderby (排序)操作
淘宝商品详情又见淘宝详情,升级高级版 API
笔记。。。。
指针的介绍及应用
The use of scrapy crawler framework
使用KeyStore生成证书
Enterprise WeChat group: robot timing reminder function database configuration
报告:想学AI的学生数量已涨200%,老师都不够用了
What's up with VS "Cannot find or open PDB file"?How to solve
堆内存的介绍及应用(含例子)
【应用推荐】常见资源管理器整理,含个人使用体验和产品选型推荐
Message queue interview latest finishing (2022)
How programmers learn open source projects, this article tells you
【cartographer ros】十: 延时和误差分析
Is the real database data of TiDB stored in kv and pd?
可视化——Superset安装与部署
《时代》杂志:元宇宙时代将改变世界
URL.createObjectURL、URL.revokeObjectURL、Uint8Array、Blob使用详解
使用ESP32驱动QMA7981读取三轴加速度(带例程)