火星链 火星链
Ctrl+D收藏火星链

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');

过去24小时Bitcoin链上手续费收入突破90万美元:金色财经报道,Cryptofees.info数据显示,最近24小时,以太坊链上手续费收入为4007471.13美元,Uniswap链上手续费收入为2061422.92美元,SushiSwap链上手续费收入为1153738.23美元、Bitcoin链上手续费收入为923585.52美元,BSC链上手续费收入为612204.38美元,GMX链上手续费收入为473056.27美元。[2023/3/20 13:14:06]

处理方式分析:浏览器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。

新华社:加快Web3.0应用场景建设,有望重塑互联网全新生态:金色财经报道,新华社主办《半月谈》记者近期发布文章表示,随着元宇宙、NFT等新技术概念风起云涌,稳定运行多年的现行互联网面临重构风险,挑战者以去中心化为利刃试图打破行业垄断。当前,多国政府对Web3.0发展高度关注并保持积极探索,标准化组织正在围绕分布式标识、数字资产等重点方向开展技术研究与标准制定,Web3.0投融资规模与数量持续增长,互联网企业与来自其他行业的企业都在通过Web3.0寻找新的产业机遇。[2023/3/1 12:35:59]

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

跨链互操作应用Avault已上线Arbitrum:2月7日消息,跨链互操作应用Avault已上线Arbitrum。Avault全链产品于2月6日上线,Optimism、BNB chain、Polygon的用户将可以与Arbitrum上的应用进行交互,实现一键完成跨链质押、复投、跟单等功能。

据悉,Avaul已联合LI.FI和Stargate在Galxe上发布了首个专属NFT,NFT持有者有机会获得Avault早期社区空投。[2023/2/7 11:52:28]

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

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

ENS DAO成员提案建议出售1万枚ETH,以支付未来两年的运营成本:金色财经报道,以太坊域名服务(ENS)DAO成员提出的治理提案建议清算10,000个ETH以支付未来两年的运营成本。提案草案于1月18日提交,目前正在ENS社区中进行讨论。

DAO的金库目前持有40,746个ETH 和246万个USDC。通过Gnosis拍卖,出售10,000 ETH将产生至少1300万美元的USDC稳定币。[2023/1/19 11:21:08]

处理方式分析:nodejs

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

Crypto.com将向宾大加密研究实验室基金捐款,加强区块链安全和隐私研究:5月22日消息,据官方公告,加密货币交易所Crypto.com周四宣布,承诺提供两年的捐款,以支持宾夕法尼亚大学(UPenn)的新加密研究实验室基金(Crypto Research Laboratory Fund)。这笔捐款将资助密码学和编码方面的研究,旨在解决区块链高度隐私、安全和去中心化方面的现实问题。

这项为期两年的研究捐款将用于在宾夕法尼亚大学工程与应用科学学院内建立新实验室,由计算机与信息科学系研究助理教授Brett Hemenway Falk管理。研究的两个重点领域包括数字环境中的隐私和安全、 促进透明度和信任。[2022/5/22 3:33:49]

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

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

>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查看更多以太坊

标签:FERUFFBUFFINTferrumnetworkBUFFS价格BUFFSmorleychaintoken

比特币最新价格热门资讯
TPS:WBF上线SWTT理财第四期空投活动的公告

尊敬的用户:?即日起,WBF将上线SWTT理财第四期空投活动,具体详情如下:?活动一、参与SWTT理财享空投用户参与SWTT定期理财,除了享受15%年化利息,锁仓200枚SWTT可获得矿机一台.

1900/1/1 0:00:00
BOB:BHEX关于“净充值、抽奖瓜分2,500个OCT”活动奖励发放的公告

尊敬的社区用户:BHEX举行的“上线OCT/USDT,净充值、抽奖瓜分2,500个OCT”活动已结束,其中活动二.

1900/1/1 0:00:00
COIN:币赢观察 | 加密资产全球监管趋严 行业巨头却在张开怀抱

在加密货币行业规模日益巨大,并引发了许多投机行为或者不法活动等背景下,全球监管机构也在积极加强监管措施,跟上加密货币行业的发展。目前已有多国监管部门出限制政策.

1900/1/1 0:00:00
SDT:【理币开启】USDT、SRM、RAY、CELO、FTM、SOL、NEAR、AVAX、DYDX 理币上线

亲爱的用户:????ZT理币宝于2021年9月28日20:00-2021年10月1日00:00陆续开放USDT、SRM、RAY、CELO、FTM、SOL、NEAR、AVAX、DYDX理币活动.

1900/1/1 0:00:00
TOKE:公告:imToken App 被手机安全软件提示病风险

imToken团队接到安卓用户反馈,imToken被手机安全软件提示病风险,提示卸载软件。imToken用户切勿在没有备份钱包助记词的情况下卸载软件,否则将无法恢复钱包造成永久损失.

1900/1/1 0:00:00
RAMP:RAMP(RAMP)

專案簡介:RAMP是一種去中心化金融生態系統,致力於從有抵押的數字資產中釋放流動資金。在RAMP生態系統,擁有抵押資產的用戶可以繼續獲得股權獎勵,保留其抵押投資組合的資本增值潛力,並釋放流動資金.

1900/1/1 0:00:00