庞博文 - 智能合约攻击方法(一)|暗网潜航
最近我与团队开展安全监控中心及漏洞研究队伍,对一些NFT项目进行安全监控。过程中发现及制止不少攻击行为,因此整理八种智能合约威胁,将分几期与大家分享。
这些威胁大部份是因编写智能合约与铸币程序时,其程序逻辑混乱和配置错误而引起。它们可分为恶意行为(Malicious Acts)、弱协议(Weak Protocol)、令牌诈骗(Token defraud)及应用程序错误(Application Bugs)四大类,当中涉及八种攻击方法,对安全编码有一定认识的读者会较容易明白。
第一种方法是「智能合约重入攻击技术」(Smart Contract Reentrancy attack techniques),在编写智能合约时,程序员会输入函数值的代码,若果没有限制函数值的传输和递归回调,攻击者就可以不断插入和提交函数值的递归回调,形成无限而且重复的循环,最终耗尽合约里的可用余额,直至破坏整个机制。这攻击技术更可分为「单功能重入攻击」和「跨功能重入攻击」,所以编写智能合约时,必须限制每个函数值的传递和递归回调。
第二种是「智能合约的上溢和下溢攻击」(Overflow and Underflow attack),智能合约主要以Solidity编写,如果编写时没有限制交易输入数值,并容许输入未经授权数值,便有机会因位元增减产生「上溢出」及「下溢出」漏洞。当漏洞发生时,攻击者可插入已改变的地址函数,把合约承载的以太币随意传输到指定地址,所以一定要限制交易后的输入数值和授权数值。
TOZ联合创办人
庞博文
这些威胁大部份是因编写智能合约与铸币程序时,其程序逻辑混乱和配置错误而引起。它们可分为恶意行为(Malicious Acts)、弱协议(Weak Protocol)、令牌诈骗(Token defraud)及应用程序错误(Application Bugs)四大类,当中涉及八种攻击方法,对安全编码有一定认识的读者会较容易明白。
第一种方法是「智能合约重入攻击技术」(Smart Contract Reentrancy attack techniques),在编写智能合约时,程序员会输入函数值的代码,若果没有限制函数值的传输和递归回调,攻击者就可以不断插入和提交函数值的递归回调,形成无限而且重复的循环,最终耗尽合约里的可用余额,直至破坏整个机制。这攻击技术更可分为「单功能重入攻击」和「跨功能重入攻击」,所以编写智能合约时,必须限制每个函数值的传递和递归回调。
第二种是「智能合约的上溢和下溢攻击」(Overflow and Underflow attack),智能合约主要以Solidity编写,如果编写时没有限制交易输入数值,并容许输入未经授权数值,便有机会因位元增减产生「上溢出」及「下溢出」漏洞。当漏洞发生时,攻击者可插入已改变的地址函数,把合约承载的以太币随意传输到指定地址,所以一定要限制交易后的输入数值和授权数值。
TOZ联合创办人
庞博文
最Hit
长者乘车优惠明年4月收紧!长者群组热议「两蚊两折」点样计? 每月限搭240程?北上深圳贵好多?
2025-12-12 17:51 HKT
长寿秘诀|90岁烘焙师仍出书主持节目 公开3大饮食习惯 保持健康绝不吃1类食物
2025-12-13 10:14 HKT
奇闻秘史︱同治皇帝传染花柳驾崩 慈禧当日点处治「嫖娼指南」王庆祺?
2025-12-13 07:00 HKT
港人重返职场做满1年额外「收政府$2万支票」 附2大中年再就业/求职津贴申请方法
2025-12-12 17:26 HKT


















