木星链 木星链
Ctrl+D收藏木星链
首页 > PEPE > 正文

UFF:天价手续费分析:我不是真土豪

作者:

时间:1900/1/1 0:00:00

9月27日,Bitfinex的一个主要钱包以7676

将int转成Hexhttps://github

判断是否可以被2整除,如果不行需要在字符开头添加一个0,这里主要是为了能够成功的将数据2个1组写入到buffer。https://github

if(a

returna;}

以出错的示例数据:33974229950.550003进行分析,经过intToBuffer函数中的intToHex和padToEven处理后得到7e9059bbe.8ccd,这部分浏览器js和nodejs的结果都是一致的。

不一致的地方是在newBuffer的操作:

newBuffer(padToEven(hex.slice(2)),'hex');

BNB Chain 推出创新训练营计划BNB Chain Bootcamp:4月24日消息,BNB Chain 推出创新训练营计划BNB Chain Bootcamp,旨在通过该计划建立开发者社区,帮助开发者了解 BNB Chain 并基于 BNB Chain 进行项目开发。参与者需要至少了解一门编程语言,如 JavaScript、Python、C++ 等。[2023/4/24 14:24:04]

处理方式分析:浏览器js

通过webpack打包好js文件并对文件进行引用,然后在浏览器上进行调试分析。

首先输入的示例字符33974229950.550003会进入到intToBuffer的函数中进行处理。同步分析intToBuffer的处理过程,这部分和」关键代码分析「部分的代码逻辑是一样的,处理转换部分得到的结果是7e9059bbe.8ccd。接下来分析如何将转换后的字符填充进入的buffer中,通过这步可以得到buffer的内容是126,144,89,187,14,140,205对应的是7e,90,59,bb,e,8c,cd。

数据:1,861枚BTC从未知钱包转移到Coinbase:金色财经报道,据Whale Alert数据显示,1,861枚BTC(价值约39,032,246美元)从未知钱包转移到Coinbase。[2023/1/15 11:12:47]

>0x7e->126>0x90->144>0x59->89>0xbb->187>0xe->14>0x8c->140>0xcd->205

这里发现e.这部分的小数点消失了,于是开始解小数点消失之迷,追踪到hexWrite这个函数,这个函数会将得到的数据2个一组进行切分。然后用了parseInt对切分后的数据进行解析。

然而parseInt('e.',16)->14===parseInt('e',16)->14消失的小数点被parseInt吃掉了,导致最终写入到buffer中的数据发生了错误,写入buffer的值是7e9059bbe8ccd。

周星驰发文为其社群征集名称:11月9日消息,周星驰在Ins发文并配图表示,斧頭幫唔收我,我就另起爐灶!一人一個名,我個社群叫乜好?(斧头帮不收我,我就另起炉灶!一人一个名字,我的社群叫什么好?)为其社群征集名称。

此前报道,周星驰发布社交动态招聘Web3人才,表示会亲自挑人,之后发文暗示或将其电影角色引入元宇宙。[2022/11/9 12:37:10]

处理方式分析:nodejs

由于浏览器上出问题的是7_**__**_e9059bbe.8ccd在写入buffer的时候小数点被parseInt吃掉了导致数据出错,但是经过分析,node的数据也是错误的,且产生错误的原因是和浏览器的不一样。

首先我们先看下如下的示例:

SushiSwap自上周以来收入增长了61.52%:金色财经报道,根据Messari数据,SushiSwap在过去 7 天多个方面出现了增长。此外,自上周以来,Sushiwap的收入增长了 61.52% 。流动资金池交易和交易量也出现增长。但SushiSwap在矿池价值方面低于Uniswap。

尽管SushiSwap的正面和负面因素相互矛盾,但其TVL保持相对稳定。尽管过去几个月TVL略有降低,但自过去几周以来,SushiSwap的TVL的整体走势持平。截至发稿时,SushiSwap锁定的总价值为4.9147亿美元。此外,自9月以来,SushiSwap网络上每天的平均新用户数持续下降。[2022/10/23 16:36:15]

node三组不同的数据填充到buffer得到的结果居然是一样的,经过分析node的buffer有个小特性,就是2个一组切分后的数据,如果没法正常通过hex解析的,就会把那一组数据以及之后的数据都不处理了,直接返回前面可以被正常处理的那部分数据。可以理解为被截断了。这部分可以参考node底层的buffer中node_buffer.cc中的代码逻辑。

安全团队:P2E视频游戏Haunted Space的Discord服务器遭入侵:7月1日消息,据CertiK预警显示,P2E视频游戏Haunted Space的Discord服务器已被黑客入侵,黑客已锁定所有聊天频道并发布网络钓鱼链接,提醒用户请勿点击。[2022/7/1 1:44:33]

>newBuffer('7e9059bbe','hex')>newBuffer('7e9059bbe.8ccd','hex')>newBuffer('7e9059bb','hex')

执行结果的比较

node由于会将原始数据7e9059bbe.8ccd中的e.及之后的数据进行截断,所以最终错误的值是7e9059bb,相比正确的值07e9059bbe小。

node的执行结果:浏览器由于会将原始数据7e9059bbe.8ccd中的.吃掉,所以最终错误的值是7e9059bbe8ccd,相比正确的值07e9059bbe大很多。

浏览器的执行结果:

问题的原因

ethjs-util的intToBuffer函数不支持浮点型的数据,且在这个函数中没有判断传入的变量类型,来确保变量类型是预期内的。由于ethereumjs的toBuffer引用了ethjs-util的intToBuffer进行处理,也没有对数据进行检查。导致了这次事件的发生,所幸最终善良的矿工归还了「天价手续费7626ETH」。

吸取的教训

从第三方的库的角度来看,在编码过程中应该要遵循可靠的安全的编码规范,在函数的开头要对传入的数据进行合法性的检查,确保数据和代码逻辑是按照预期内执行。

从库的使用者的角度来看,使用者应该要自行阅读第三方库的开发文档和对接文档,并且也要对代码中接入第三方库的逻辑进行测试,通过构造大量的数据进行测试,确保业务上能够正常按照期望执行,保证高标准的测试用例的覆盖率。

参考资料:

https://github.com/ethereumjs/ethereumjs-monorepo/issues/1497

https://blog.deversifi.com/23-7-million-dollar-ethereum-transaction-fee-post-mortem/

https://www.chainnews.com/news/611706276133.htm

来源链接:mp.weixin.qq.com

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

慢雾

慢雾

慢雾科技是一家专注区块链生态安全的国家高新技术企业,通过「威胁发现到威胁防御一体化因地制宜的安全解决方案」服务了全球许多头部或知名的项目。慢雾科技的安全解决方案包括:安全审计、威胁情报、漏洞赏金、防御部署、安全顾问等服务并配套有加密货币反、假充值漏洞扫描、漏洞监测、被黑档案库、智能合约防火墙、SafeStaking等SAAS型安全产品,已有商业客户上千家。慢雾慢雾科技慢雾AML慢雾安全Slowmist查看更多以太坊

标签:UFFFERBUFFINTUFF币Maya Preferred 223Buff DogeINTX币

PEPE热门资讯
DYDX:dYdX 高光数据表现背后,潜在「死亡螺旋」风险不可忽视

去中心化衍生品交易协议dYdX俨然成为当下DeFi市场中的现象级应用。根据CoinMarketCap的数据,截至9月28日下午2点,dYdX24H交易量达到95.31亿美元,位居所有DEX第一位.

1900/1/1 0:00:00
以太坊:以太坊2.0客户端Prysmatic Labs发布关于客户端多样性的声明,将采取合理措施减少Prysm的绝对优势

巴比特讯,9月29日,以太坊2.0客户端PrysmaticLabs发布关于客户端多样性的声明。据PrysmaticLabs介绍,Prysm在网络中运行着绝大多数质押ETH以及大量节点,以太坊权益.

1900/1/1 0:00:00
COM:Compound错误分发8000万美元代币,修复漏洞还要再等七天

9月30日,头部去中心化借贷协议Compound于官推表示,在今天通过并执行「治理提案062」后,升级合约内发错了一个BUG,致使COMP代币出现了异常分发情况.

1900/1/1 0:00:00
GATE:Gate.io Startup项目Evanesco (EVA)空投结果及上线交易公告

1.关于项目Evanesco(EVA)空投结果Gate.ioStartup项目Evanesco代币EVA于2021年09月28日10:00开始下单,8小时内下单同等对待,总共有10.

1900/1/1 0:00:00
FEX:AOFEX關於【領AQT體驗金,瓜分1,000,000AQ獎勵】活動獎勵已發放的公告

尊敬的用戶:活動獎勵已發放,獲得獎勵的用戶在用戶中心-賬戶資產查詢發放記錄。再次恭喜所有獲獎用戶!活動詳情:領AQT體驗金,瓜分1,000,000AQ獎勵AOFEX?更多活動持續進行中,詳情可參.

1900/1/1 0:00:00
GNO:社区代币平台 Roll 完成 1000 万美元 A 轮融资,IOSG Ventures 领投

链闻消息,社区代币平台Roll完成1000万美元A轮融资,IOSGVentures领投,AnimocaBrands、Alchemy、HuobiVentures、WeekendFund、Misch.

1900/1/1 0:00:00