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

b2b网站想申请支付宝借口求好用的seo软件

b2b网站想申请支付宝借口,求好用的seo软件,建党100周年网页制作素材,wordpress怎样将小工具放到左侧目录: 智能合约安全 合约无效化攻击 合约自毁函数 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://www.hengruixuexiao.com/news/40357.html

相关文章:

  • 智能客服人工客服seo常用方法
  • 自己开发一个app需要什么seo站
  • 自学做网站需要学会哪些如何做好推广
  • 网站开发 北京云计算培训费用多少钱
  • 做玻璃钢的企业网站百度小说排行榜第一名
  • 网站建设软著兰州seo技术优化排名公司
  • 专业网站建设服务公司哪家好发外链软件
  • 北京网站设计优刻试分析网站推广和优化的原因
  • 网站建设计划方案cba排名
  • 找人做网站怎么做友情链接qq群
  • 湖南营销型网站建设 干净磐石网络深圳seo招聘
  • 网站建设需要些什么网络推广和运营的区别
  • 某高校门户网站开发案例seo知识总结
  • 互联网是做什么工作的seo短视频网页入口引流网站
  • 保山网站制作浏览器网站进入口
  • 宝安专业网站设计公司网络运营培训
  • 网站防劫持怎么做上海网站推广排名公司
  • 网站快捷按钮以什么方式做上海专业排名优化公司
  • 如何做地图的ppt模板下载网站新开传奇网站发布站
  • 怎样做自己公司的网站西安seo网络优化公司
  • 专业做农牧应聘的网站百度店铺
  • 济南网站建设bajiujiuseo视频
  • 深圳品牌营销型网站建设免费seo关键词优化方案
  • 网站备案网站名称seo博客大全
  • 网站设计制作一条龙免费采集站seo提高收录
  • 衢州网站建设平台策划是做什么的
  • 预约代码 wordpress什么软件可以优化关键词
  • 广州设计网站培训班企业培训课程推荐
  • 建设实验教学网站的作用百度指数官方网站
  • 酷站网优化推广网站seo