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

[블록체인 보안] 스마트컨트랙트 취약성 (DOS)

by Danny_Kim 2023. 8. 24.

🔑 코인 투자 추천 링크 🔑

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

 

KingOfEther 계약은 사용자가 현재 잔액보다 더 많은 이더를 보내는 것으로 왕위를 요구할 수 있는 게임을 운영

새로운 사용자가 더 많은 이더를 보낼 때, 계약은 이전 “왕”에게 이전 잔액을 반환하려고 시도함

그러나 이 매커니즘은 악용될 수 있음

공격자의 계약은 왕이 되어서 후속 fallback 함수를 실패시키거나 정해진 가스 한도보다 더 많은 가스를 소비하여 KingOfEther 계약이 이전 왕에게 이더를 반환하려고 할때 claimThrone 함수를 실패하게 만들 수 있음

 

개선방법

Pull 지불 패턴 사용, 사용자가 이더를 받는 대신 인출할 있도록 하는 !

 

소스파일

https://github.com/SunWeb3Sec/DeFiVulnLabs/blob/main/src/test/DOS.sol

 

코드 취약성부분

 

테스트

 

참고

https://web3sec.notion.site/DOS-2b1e5b2a47a748a485ece0f1f7de2a96

 

🔑 코인 투자 추천 링크 🔑

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

댓글