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

[블록체인 보안] 스마트컨트랙트 취약성(Visibility- 부적절한 접근 제어 취약점)

by Danny_Kim 2023. 8. 24.

🔑 코인 투자 추천 링크 🔑

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

 

함수의 기본 가시성은 공개(public)임

만약 안전하지 않은 가시성 설정이 있다면, 공격자는 스마트계약 내의 민감한 함수를 직접 호출 할 수 있음

onwerGame 계약은 계약의 소유자를 변경하기 위함 changeOwner 함수를 가지고 있음

그러나 부적절한 접근 제어로 인해 이 함수는 공개적으로 접근 가능하며, 외부 계정 또는 계약에서 호출 될 수 있음

결과적으로 공격자는 이 함수를 호출하여 계약의 소유권을 변경하고 제어를 얻을 수 있음

 

개선

접근 제어 수정자 사용 : modifier onlyOwner

 

테스트 소스

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

 

코드 취약부분

 

테스트

 

참고문서

https://web3sec.notion.site/Visibility-9ef541478a6b441793605e5272b614bd

🔑 코인 투자 추천 링크 🔑

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

댓글