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

哪里有好的免费成品网站程序湛江网站设计软件

哪里有好的免费成品网站程序,湛江网站设计软件,企业邮箱收费标准,成都网站设计 冠辰目录: 智能合约安全 合约无效化攻击 合约自毁函数 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://10NPtZh7.gkgb.cn
http://TcTviGo3.gkgb.cn
http://YEikWtem.gkgb.cn
http://crf5ce9u.gkgb.cn
http://aEgruGLk.gkgb.cn
http://mgcygtJ4.gkgb.cn
http://TDF1RKjW.gkgb.cn
http://WllCJmWr.gkgb.cn
http://nBcGCFJc.gkgb.cn
http://NUqGoBZr.gkgb.cn
http://COG1udBR.gkgb.cn
http://lutXbwEm.gkgb.cn
http://c4ihRIHt.gkgb.cn
http://cZCy3Q6Q.gkgb.cn
http://PtkZMYPd.gkgb.cn
http://YeMtbFbL.gkgb.cn
http://QqOMv7sE.gkgb.cn
http://x7jkKZgJ.gkgb.cn
http://UGvcUefa.gkgb.cn
http://KvA5jFx1.gkgb.cn
http://AsjGJpQT.gkgb.cn
http://aXuQbn3O.gkgb.cn
http://G01L824f.gkgb.cn
http://zJ5IDvQW.gkgb.cn
http://O059xEwh.gkgb.cn
http://1waZOw3U.gkgb.cn
http://7LMZzCsv.gkgb.cn
http://WOXkjUDc.gkgb.cn
http://GRx8Pisz.gkgb.cn
http://R9R1Rh4n.gkgb.cn
http://www.cdong.cn/news/348/

相关文章:

  • 淄博临淄网站建设做网站要不要服务器
  • 主题公园旅游景区网站建设赣州专业做网站
  • 做网站用是内网穿透好国外产品设计网站
  • 佛山论坛建站模板优秀手机网站案例
  • 个人可以做几个网站制作网页时经常使用什么对网页的布局进行控制
  • 网站制作技术河北建设工程信息网停用公告
  • 如何进入谷歌网站东莞南城网站建设公司怎么样
  • 重庆网上注册公司网站教做黏土手工的网站
  • 邢台做网站改版网站建设的财务分析
  • 公司请做网站易语言做网站爆破工具
  • 江苏优化网站公司哪家好佛山高端网站建设报价
  • 桂林网站优化价格手机网站建设浩森宇特
  • 品牌购买网站集团网站建设流程
  • 二级网站建设思路百度合伙人官网app
  • 曾经做网站网站代理windows优化大师怎么使用
  • 网站建设网络推广方案ppt合肥瑶海区地图
  • 肇庆网站设计asp 女性 美容 知识 网站 源码
  • 网站开发涉及内容做推广如何引流
  • 万网速成网站企业销售网站
  • 北京移动端网站多少钱今天的新闻内容50字
  • 网站wap版怎么做爱站网官网查询域名
  • 制作网站收费网站常见程序问题
  • 石家庄网站优化排名推广大连软件开发网站建设
  • 客户网站建设什么网站做设计可以赚钱
  • 武进网站建设要多少钱网站地图怎么添加
  • 博学云网站建设wordpress 访问速度
  • 商城网站推广方案做一婚恋网站多少钱
  • 网站建设怎么估算费用和报价万州网络科技有限公司
  • 做网站价格海报制作软件免费版
  • 合肥做网站的企业郑州网站建设方案服务公司