• 微课视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
微课江湖
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 微课视频
  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链
您的位置:首页 > 网络安全 >区块链 > parity多签名合约漏洞分析

parity多签名合约漏洞分析

作者:简书 字体:[增加 减小] 来源:互联网 时间:2018-11-03

简书向大家分享了parity多签名合约漏洞分析,其中包含parity多签名合约漏洞等知识点,遇到此问题的同学们可以参考下

昨晚出事后看了安全公告:https://paritytech.io/blog/security-alert.html

分析合约代码后:https://etherscan.io/address/0x863df6bfa4469f3ead0be8f9f2aae51c91a907b4#code

发现漏洞由如下代码段引起:

// constructor - just pass on the owner array to the multiowned and  // the limit to daylimit  function initWallet(address[] _owners, uint _required, uint _daylimit) only_uninitialized {    initDaylimit(_daylimit);    initMultiowned(_owners, _required);  }  // constructor is given number of sigs required to do protected "onlymanyowners" transactions  // as well as the selection of addresses capable of confirming them.  function initMultiowned(address[] _owners, uint _required) only_uninitialized {    m_numOwners = _owners.length + 1;    m_owners[1] = uint(msg.sender);    m_ownerIndex[uint(msg.sender)] = 1;    for (uint i = 0; i < _owners.length; ++i)    {      m_owners[2 + i] = uint(_owners[i]);      m_ownerIndex[uint(_owners[i])] = 2 + i;    }    m_required = _required;  }

这个函数假定创建者会调用initWallet函数,但是initWallet根本没有任何鉴权,任何人都可以成为owner,然后就可以调用kill函数杀死合约自身。

// kills the contract sending everything to `_to`.  function kill(address _to) onlymanyowners(sha3(msg.data)) external {    suicide(_to);  }

自杀之后,唯一可以用的函数只有

// gets called when no other function matches  function() payable {    // just being sent some cash?    if (msg.value > 0)      Deposit(msg.sender, msg.value);  }

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2018-11-03以太坊之外的4大ICO发行平台
  • 2018-11-03如何在Linux系统建立自己的闪电网络节点和通道
  • 2018-11-03区块链共识类型:PoW, PoS, DPoS, PoST
  • 2018-11-03golang-event 在以太坊中的使用
  • 2018-11-03走近比特币:一个故事看懂区块链原理
  • 2018-11-03解密区块链中五个神秘的术语
  • 2018-11-03互联网医疗这门生意不好做,在线心理咨询要如何打开局面?
  • 2018-11-03如何用人民币在火币Pro买卖比特币
  • 2018-11-03区块链并不等于去中介化
  • 2018-11-03如何购买比特币(买卖详解图文教程篇)

文章分类

  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链

最近更新的内容

    • 区块链运作的七个核心技术
    • 什么是代币(token)
    • 比特币、莱特币考虑交易成本的三角套利
    • IBO的金融原理和应用方向分析
    • 深度阅读 | 定价机与去中心化交易所的开发和设计
    • 分片技术(sharding)——区块链扩容问题的良方
    • 区块链技术是什么?未来可能用于哪些方面?
    • 委托证明共识算法的利弊分析
    • Dapp(分布式应用)VS mApp
    • 联盟区块链(Consortium blockchains) 简介

关于我们 - 联系我们 - 免责声明 - 网站地图

©2015-2018 All Rights Reserved. 微课江湖 版权所有