🔑 100배 수익 경험자의 노하우가 담긴 치트키 공개 🔑
- 네이버, 카카오 임직원들이 듣고 있는 비트코인 강의
- 아무도 알려주지 않은 비트코인, 이더리움의 리스크
- 블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심 가치
- 천배 수익이 가능한 디파이(DeFi), 코인 생태계 지도
- 토큰 제작, 1억 연봉의 블록체인 개발자로 거듭나자!
블록 해시, 블록 번호, 블록 타임스탬프 및 기타 필드와 같은 전역변수의 사용은 안전하지 않으며, 마이너와 공격자가 이를 제어할 수 있음
시나리오
GuessTheRandomNumber는 블록해시와 타임스탬프에서 생성된 유사한 무작위 숫자를 맞춘다면 1 이더를 얻을 수 있는 게임
처음에는 올바른 숫자를 맞추는 것은 불가능한 것처럼 보임
- 엘리스가 1 이더와 함께 GuessTheRandomNumber를 배포함
- 이브가 Attack을 배포함
- 이브가 Attack.attack()를 호출하고 1 이더를 획득함
개선방안
blockhash와 block.timestamp를 무작위성의 소스로 사용하지 말것
테스트 소스
https://github.com/SunWeb3Sec/DeFiVulnLabs/blob/main/src/test/Randomness.sol
취약성 코드
테스트.
참고문서
https://web3sec.notion.site/Randomness-c4c2719e6ab04040b50e2b0900da56a6
댓글