【链安科技】四个Token逻辑漏洞

在继智能合约漏洞溢出问题引发了一系列损失过后,5月24号,有安全团队再次爆出漏洞溢出的问题(CVE-2018–11397, CVE-2018–11398),账户余额可以被任何人任意转出。

根据某相关安全公司风险预警平台显示,对该类问题进行监控,果不其然,发现了这个问题,更可怕的是,该监控系统显示,已经部署的四份合约存在相同的问题,并且四份合约的实现几乎一模一样。

以下为问题合约的地址通过sha3(address)计算出的哈希结果:

问题合约代码中显示,在transferFrom函数中,由于缺少了对allowed的校验, 任何账户都可以对某一账户上的余额随意进行转账,黑客就可以利用这个漏洞将他人账户上的余额转入自己的账户中,从而获益。同时若转账金额超出了allowed 的限制,allowed[_from][msg.sender] -= _value;这段代码将导致的溢出。 这个问题本质上是一个逻辑上的漏洞,进而引发了溢出漏洞。但可以通过规避溢出漏洞的方式来规避该类问题:

  • 转账之前对allowed进行校验。
  • 使用safeMath等安全的方式进行运算。

本文转载自《四个Token逻辑漏洞》,版权属于原作者,已获得授权转载。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

Google Play商店漏洞:黑客可远程在你的安卓手机上安装恶意APP

安全研究人员发现Google Play商店中两个严重安全漏洞,可以允许攻击者远程在用户的安卓设备上安装并下载恶意APP(应用)。 Metasploit框架的技术...

1957
来自专栏HappenLee的技术杂谈

分布式系统的一致性算法------《Designing Data-Intensive Applications》读书笔记13

原子提交防止了数据库处于半更新的状态,这对于需要满足多对象事务和维护次级索引的数据库尤为重要。每个次级索引都是从主数据中分离出来的数据结构,因此,如果修改某些数...

972
来自专栏后端技术探索

Linux各种发行版,你会选吗

Linux最早由Linus Benedict Torvalds在1991年开始编写。在这之前,Richard Stallman创建了Free Software ...

1922
来自专栏jouypub

Git Pull强制覆盖本地文件

在有些场景下为了避免代码冲突,需要强制使用远程代码覆盖本地代码,比如自动部署,GitHub的webhook

8491
来自专栏「3306 Pai」社区

构建MySQL自动化平台思路

这里做个小预告,可能下周或者下下周。我的好基友顺子要给大家讲讲MHA的故事。请期待~~

2382
来自专栏木子昭的博客

用HEXO在Github建立个人博客

在sublime打开新建的~/zhaoolee-blog/source/_posts/在Github创建个人专属名片.md, 并加入内容 ...

1042
来自专栏高性能服务器开发

微信、陌陌等著名IM软件设计架构详解

https://blog.csdn.net/justinjing0612/article/details/38322353

4083
来自专栏性能与架构

《HyperLedger Fabric 开发实战》实践笔记

《HyperLedger Fabric 开发实战》这本书是一本实践指导书籍,由浅入深,全部动手实践完成后,对 fabric 的基础操作就比较熟悉了。

2322
来自专栏杨建荣的学习笔记

数据库负载急剧提高的应急处理(r9笔记第54天)

今天处理了一起紧急问题,回过头来看还是有不少需要注意的地方。 首先是收到了报警,有一台DB服务器的负载有一些高,但是会快就恢复了。所以自己也没有在意,但是过了大...

3985
来自专栏lonelydawn的前端猿区

大白话谈 Git

一、Git是什么? 定义 Git 的定义 是 一款免费、开源的版本控制系统。 免费不必多说;开源则是指将源代码公布,并允许公众查看、修改代码。 如果我们将项目每...

3206

扫码关注云+社区

领取腾讯云代金券