1. 문제 The EthernautThe Ethernaut is a Web3/Solidity based wargame played in the Ethereum Virtual Machine. Each level is a smart contract that needs to be 'hacked'. The game is 100% open source and all levels are contributions made by other players.ethernaut.openzeppelin.comThis is a simple wallet that drips funds over time. You can withdraw the funds slowly by becoming a withdrawing partner.If y..
🚨 재진입 공격 (Reentrancy Attack)이란? BadBank 컨트랙트는 10 이더를 가지고 있고 Bob은 1 이더를 가지고 있습니다. BadBank가 가진 10 이더는 다른 사용자 또는 스마트 컨트랙트가 입금해 놓은 금액입니다. BadBank는 이를 안전하게 지켜야만 하고 소유주의 인출 요청에만 응답을 해야 되겠죠. 그런데 BadBank의 withdraw 함수에는 취약점이 존재합니다. 그리고 이를 오직 Bob만 눈치를 챘습니다. Bob은 공격을 감행하기로 마음먹습니다. 공격에 앞서 withdraw 함수를 호출하기 위한 조건을 만족시키기 위해 Bob은 자신이 가진 1 이더를 BadBank에 입금합니다. 그리고 withdraw 함수를 호출합니다. BadBank가 Bob에게 1 이더를 보내는 순간,..