开发环境中手动篡改fisco bcos账本交易数据实验

一、环境准备

目的

把已经上链的数据修改掉,比如把下面的input属性中的65改为56:

原数据:

blockHash: 0xd6e8b6ca32f070169aa044d04455dc9ecbb73362e0a7f3aeaba3347131c88258

blockNumber: 0x6

gas: 0x11e1a300

from: 0x8554566216d3a85e4ed46084fc744cd177524bfe

transactionIndex: 0x0

to: 0x57a6e72c5cb194e1027427a4c9395d41683d7306

nonce: 0x903e745366997d55acf317484e92ea7268de4ea05b2389da6022649b8e3a5e

value: 0x0

hash: 0xff5c565141e0f78187f07fb43f95f262aac39955c7b47e1d8a1184990f21040c

gasPrice: 0x11e1a300

input: 

0x4ed3885e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000066269616f67650000000000000000000000000000000000000000000000000000

 

修改后的数据:

blockHash: 0xd6e8b6ca32f070169aa044d04455dc9ecbb73362e0a7f3aeaba3347131c88258

blockNumber: 0x6

gas: 0x11e1a300

from: 0x8554566216d3a85e4ed46084fc744cd177524bfe

transactionIndex: 0x0

to: 0x57a6e72c5cb194e1027427a4c9395d41683d7306

nonce: 0x903e745366997d55acf317484e92ea7268de4ea05b2389da6022649b8e3a5e

value: 0x0

hash: 0xff5c565141e0f78187f07fb43f95f262aac39955c7b47e1d8a1184990f21040c

gasPrice: 0x11e1a300

input: 

0x4ed3885e000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000066269616f67560000000000000000000000000000000000000000000000000000

链环境

1.下载建链脚本

curl -#LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.6.0/build_chain.sh && chmod u+x build_chain.sh

2.安装以mysql底层存储的链

bash build_chain.sh -s mysql -l 127.0.0.1:2 -p 30300,20200,8545

0

3.宝塔安装mysql并创建2个数据库(node1 node2),因为有2个节点

开发环境中手动篡改fisco bcos账本交易数据实验_第1张图片

4.修改数据库配置信息(node0 node1都要改),注意这个的mysql的用户需要root权限才能启动链

node0:

开发环境中手动篡改fisco bcos账本交易数据实验_第2张图片

node1:

开发环境中手动篡改fisco bcos账本交易数据实验_第3张图片

5.启动底层链

开发环境中手动篡改fisco bcos账本交易数据实验_第4张图片

6.查看数据库表

开发环境中手动篡改fisco bcos账本交易数据实验_第5张图片

控制台环境

1.在节点目录下执行 download_console.sh

开发环境中手动篡改fisco bcos账本交易数据实验_第6张图片

2./root/test/nodes/127.0.0.1/console/conf 目录下重命名applicationContext-sample.xml为applicationContext.xml

开发环境中手动篡改fisco bcos账本交易数据实验_第7张图片

3.复制/root/test/nodes/127.0.0.1/sdk 下的所有文件到/root/test/nodes/127.0.0.1/console/conf 下

开发环境中手动篡改fisco bcos账本交易数据实验_第8张图片

4.启动控制台并部署调用合约

开发环境中手动篡改fisco bcos账本交易数据实验_第9张图片

发现mysql中存储的是blog类型如下图所示:

node1:

开发环境中手动篡改fisco bcos账本交易数据实验_第10张图片

node2:

开发环境中手动篡改fisco bcos账本交易数据实验_第11张图片

发现node1和node2的表数据经过共识后完全一致

安装区块链浏览器更直观的查看相关的区块数据

1.克隆相关的代码

git clone https://github.com/FISCO-BCOS/fisco-bcos-browser.git

开发环境中手动篡改fisco bcos账本交易数据实验_第12张图片

2.修改common.properties中的配置

开发环境中手动篡改fisco bcos账本交易数据实验_第13张图片

3.安装

[root@localhost deploy]# python deploy.py installAll

===================== envrionment check... =====================

check git...

check finished Sucessfully.

check wget...

check finished Sucessfully.

check openssl...

check finished Sucessfully.

check curl...

check finished Sucessfully.

check nginx...

check finished sucessfully.

check java...

check finished sucessfully.

check server port..

check finished Sucessfully.

check web port...

check finished Sucessfully.

check db connection...

check finished Sucessfully.

===================== envrionment ready... =====================

===================== deploy start... =====================

fisco-bcos-browser.zip编译包已经存在,是否重新下载?[y/n]:n

fisco-bcos-browser.zip编译包已解压过,是否重新解压?[y/n]:n

数据库db_browser已经存在,是否删除重建?[y/n]:n

======= server start success! =======

======= web start success! =======

===================== deploy end... =====================

============== 通过以下链接访问,IP改成服务器IP ================

http://IP:5100/

[root@localhost deploy]#

4.访问http://192.168.119.132:5100/ 新建群组

开发环境中手动篡改fisco bcos账本交易数据实验_第14张图片

5.新建节点

开发环境中手动篡改fisco bcos账本交易数据实验_第15张图片

二、开始实验

1.想办法篡改相关的数据试试。

把hash最后一条数据的最后一位9改为8试试会发生什么

开发环境中手动篡改fisco bcos账本交易数据实验_第16张图片

修改后:

开发环境中手动篡改fisco bcos账本交易数据实验_第17张图片

2.我们再调用合约查询一下看看,貌似没什么问题

开发环境中手动篡改fisco bcos账本交易数据实验_第18张图片

6. 按照上面的步骤把hash最后一条数据的最后一位9改为8试试会发生什么,查看交易信息并和mysql中的数据对比。 发现区块链浏览器中的hash最后一位为8

开发环境中手动篡改fisco bcos账本交易数据实验_第19张图片

同时发现最后一位为9也能访问

开发环境中手动篡改fisco bcos账本交易数据实验_第20张图片

7.猜测数据应该是存在value字段中(transactions中的input属性),但是类型为blob还没深入研究怎么修改,所以把值设为null,看看情况

node1:

开发环境中手动篡改fisco bcos账本交易数据实验_第21张图片

node2:

开发环境中手动篡改fisco bcos账本交易数据实验_第22张图片

再看看浏览器(貌似没作用,难得是我们弄错表或者字段了?):

开发环境中手动篡改fisco bcos账本交易数据实验_第23张图片

怀疑区块链浏览器有缓存重启一波服务在看看:

开发环境中手动篡改fisco bcos账本交易数据实验_第24张图片

还是一样:

 

开发环境中手动篡改fisco bcos账本交易数据实验_第25张图片

欢迎留言讨论

 

你可能感兴趣的:(fisco,bcos,篡改交易,区块链,fisco,bcos)