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

parity多签名合约漏洞分析

作者:简书 字体:[增加 减小] 来源:互联网

简书向大家分享了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);  }

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

相关文章

  • 以太坊代币标准: ERC20、ERC223的介绍与比较
  • Kraken比特币交易所图文教程——注册与认证
  • 一文读懂共识机制
  • 区块链的解构和起义
  • 区块链简介-什么是共公链
  • 区块链开发环境选择与建设
  • 如何通过BTS内盘进行ICO?
  • DAG与区块链简介(从零开始学区块链 184)
  • 如何妥善备份你的以太坊钱包?
  • 一般人都搞不懂什么的区块链技术

文章分类

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

最近更新的内容

    • 一文读懂区块链之 - 零知识证明
    • 委托证明共识算法的利弊分析
    • 区块链时代的拜占庭容错:Tendermint(一)
    • 区块链技术在信任经济中的思路解读
    • 如何使用Python编写一个简单且安全的区块链数据库API?
    • 区块链资产「地址、密码、私钥、助记词、Keystore 」
    • 区块链如何帮助品牌识别超级用户并最大化社交参与度
    • 教你如何生成以太坊钱包!
    • Kraken比特币交易所图文教程——注册与认证
    • BitShares API 服务器架设指南 - 公共API篇

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

©2020-2025 All Rights Reserved. linkedu.com 版权所有