본문 바로가기
블록체인교육/블록체인보안

[블록체인 보안] 스마트컨트랙트 취약성(반복문에 return사용)

by Danny_Kim 2023. 8. 25.

🔑 코인 투자 추천 링크 🔑

  1. 비트코인, 알트코인 투자 노하우 모두 공개
  2. OKX 거래소 - 20% 수수료 할인
  3. 플립스터 거래소 - USDT 15% 이자
  4. 해시키 거래소 - HSK 에어드랍

내부 루프 반복에서의 return 사용으로 의도치 않은 종료 발생

 

BankContractBug의 addBanks 함수는 루프 반복 내에서 return 문을 잘못 사용하여 루프가 의도치 않게 종료되는 문제를 나타냄.

Return 문이 내부 루프 내에 배치되어 있으며, 이로 인해 모든 은행 주소에 대한 반복이 완료되기 전에 함수가 조기 종료됨.

 

조치방안

Return 대신에 break 사용.

 

테스트 소스

https://github.com/SunWeb3Sec/DeFiVulnLabs/blob/main/src/test/return-break.sol

 

취약성 코드

 

테스트

 

 

참고문서

https://web3sec.notion.site/Return-vs-break-06125cc0e8ff4328b6b3551ad8b04ce5

🔑 코인 투자 추천 링크 🔑

  1. 비트코인, 알트코인 투자 노하우 모두 공개
  2. OKX 거래소 - 20% 수수료 할인
  3. 플립스터 거래소 - USDT 15% 이자
  4. 해시키 거래소 - HSK 에어드랍

댓글