网赚论坛

 找回密码
 免费注册
查看: 340|回复: 0
打印 上一主题 下一主题

安全警报:solidity变量可在内存中修改其它变量

[复制链接]

22

主题

22

帖子

88

积分

Ⅰ级财主

Rank: 1

积分
88
跳转到指定楼层
楼主
发表于 2017-10-21 18:17:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
详细说明:

小于256位的存储变量一起打包到同一个256位插槽,如果它们可以适合。 如果大于类型允许的值被分配给第一个变量,该值将覆盖第二个变量。

这意味着如果攻击者可能导致第一个变量的值溢出,那么可以修改第二个变量。 使用算术或通过直接传递来自调用数据的值(调用数据中的值对齐到32个字节,并且填充既不被验证也不被强制),在第一变量中创建溢出是可能的。

仅使用下面列出的状态变量的合同不受影响。 数组,映射和结构(基于以下类型)也不受影响:


具体内容:
https://blog.ethereum.org/2016/1 ... verwritten-storage/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2024-11-16 19:45 , Processed in 0.514801 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表