🔑 코인 투자 추천 링크 🔑
함수의 기본 가시성은 공개(public)임
만약 안전하지 않은 가시성 설정이 있다면, 공격자는 스마트계약 내의 민감한 함수를 직접 호출 할 수 있음
onwerGame 계약은 계약의 소유자를 변경하기 위함 changeOwner 함수를 가지고 있음
그러나 부적절한 접근 제어로 인해 이 함수는 공개적으로 접근 가능하며, 외부 계정 또는 계약에서 호출 될 수 있음
결과적으로 공격자는 이 함수를 호출하여 계약의 소유권을 변경하고 제어를 얻을 수 있음
개선
접근 제어 수정자 사용 : modifier onlyOwner 등
테스트 소스
https://github.com/SunWeb3Sec/DeFiVulnLabs/blob/main/src/test/Visibility.sol
코드 취약부분
테스트
참고문서
https://web3sec.notion.site/Visibility-9ef541478a6b441793605e5272b614bd
댓글