RIT:以太坊parity客户端全版本远程DoS漏洞分析_QUO

编者按:本文来自DVPNET,作者DVPNET,Odaily星球日报经授权转载。本文由五个章节组成,分别是Parity相关介绍、UTF-8编码是什么、Rust危险的字符串切片、漏洞分析、修复方案和总结。今天我们将由浅入深地为各位读者展示以太坊的parity客户端全版本远程DoS漏洞分析。

一、Parity相关介绍

以太坊Parity客户端是除Geth之外使用量最高的一款以太坊客户端,使用的是Rust语言。根据ethernodes最新数据显示:以太坊Parity客户端在整个以太坊网络中占30%,Geth客户端占40%。

在今年2月3日时,这款客户端官方发表公告称修复了一个远程拒绝服务的严重漏洞,这个漏洞影响2

'-H"Content-Type:application/json"-XPOSTlocalhost:8545利用的话也很简单,将”交易hash”替换为中文字符串就行了,例如:curl--data'{"method":"eth_getTransactionByHash","params":,"id":1,"jsonrpc":"2

'-H"Content-Type:application/json"-XPOSTlocalhost:8545实际演示一下:

可以看到在请求接口后节点确实发生了异常并崩溃了。五、修复方案和总结

官方的修复方案前面有提到,就是将字符串这种切片写法全部修改掉。不过这只是一时的修补方案,若想长久的预防此类漏洞,我们认为公链开发者应该要比传统软件开发者更了解语言的特性,因为很多代码用常规编程思维去看问题不大,但是语言本身可能存在一些开发者并不了解的特性,在特性的辅助下漏洞就产生了,之前就有公链使用go语言滥用make函数,而且参数控制不当,然后产生由OOM导致的拒绝服务漏洞。故DVP安全团队通过本期漏洞分析希望能够借此给大家警示,区块链开发者在未来的开发之路上,需要更加了解语言的特性,这样才能让区块链生态更加稳固、安全。参考链接:https://www.parity.io/security-alert-parity-ethereum-03-02/https://blog.csdn.net/wowotuo/article/details/75579103https://baike.baidu.com/item/UTF-8/481798?fr=aladdinhttps://github.com/paritytech/parity-ethereum/commit/3b23c2e86d09a8a8b8cd99dfa02390177498e6b7https://wiki.parity.io/JSONRPC

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-9:860ms