One_Blog

The Ethernaut - 기본 세팅 + Level 0 [블록체인] 본문

블록체인

The Ethernaut - 기본 세팅 + Level 0 [블록체인]

0xOne 2023. 11. 3. 20:29
728x90

이번엔 블록체인 워게임인 The Ethernaut에 대한 기본 세팅을 마치고 마쳐보겠습니다.

 

상당히 간단하니 빠르게 따라오시기 바랍니다.

 

먼저 FireFox를 설치해줍니다.

 

이 글을 여러분이 읽을 때는 어떨지 모르겠으나,

 

현재 제가 문제를 풀 때는 크롬 브라우저에서 메타마스크 연동해서 문제를 풀려고하면 오류가 표시되서

 

FireFox를 사용해야만 해결이 가능합니다.

 

https://github.com/OpenZeppelin/ethernaut/issues/686

 

TypeError: Cannot read properties of undefined (reading 'unshift') · Issue #686 · OpenZeppelin/ethernaut

I am recording a video series about Ethernaut CTF solutions and found it was not working online on Sepolia. Using Chrome version 119.0.6045.105 (Official Build) (arm64)and MetaMask version 11.4.0 f...

github.com

 

 

대충 파이어폭스 쓰라는 말

아무튼 간에 파이어폭스를 설치한 후 ,



파이어폭스로 들어가 metamask를 검색합니다.

 

 

검색해서 맨 위에 뜨는 사이트 접속하고 다운로드하면 됩니다. 

 

그렇게 메타마스크를 다운로드하고 나면,

 

시작하기 -> 동의 누르고 지갑생성을 누릅니다.

 

이후 비밀번호를 하고 싶은 대로 입력하면 비밀 복구 구문이라는 것을 보여줄 겁니다.

 

해당 구문을 따로 기록하거나, 스크린 샷을 찍어서 미리 백업해두어야 합니다. (이후 지갑 잃어버렸을 때 복구용으로 사용 가능)

 

그렇게 차례로 다 기록하고 난후, 확장프로그램 -> 메타마스크로 들어가보면

다음과 같이 뜨는 것을 볼 수 있습니다.

 

아마 여러분은 메인넷에 연결되어 있으실텐데, 우측 상단에 점3개 누르고 설정 -> 고급으로 들어갑니다.

 

다음과 같이 세팅 후 저장해줍니다.(자동 저장됨)

 

이후 좌측 상단에 버튼을 누르면 이런식으로 네트워크 선택 창이 표기됩니다.

 

여기서 Sepolia를 선택해줍니다.

 

그럼 이런식으로 뜰 것 입니다. 아마 0 SepoliaETH일텐데, 실망하지 마시고 위에 지갑주소를 복사한 후,

 

https://sepoliafaucet.com/

 

Sepolia Faucet

A fast and reliable Ethereum Sepolia testnet faucet for blockchain developers.

sepoliafaucet.com

 

해당 사이트에 접속하여 주소를 붙여넣어줍니다.

 

그러면 0.5이더를 공짜로 줍니다.

 

참고로 테스트 네트워크의 이더는 재화가치가 없으니 받았다고 좋아하지 마시길 바랍니다..

 

그렇게 0.5 이더를 받고나서 

 

https://ethernaut.openzeppelin.com/

 

The Ethernaut

The 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.com

Ethernaut에 접속하면 자동으로 메타마스크를 연동해줄 것입니다.

 

이때 여기서 await getBalance(player)를 개발자도구를 키고 console창에 붙여넣었을

 

응답값으로 0.5가 표시되면 잘 따라온 것입니다.

 

이후 00버튼을 누르고, 아래로 스크롤해서 Get New Instance를 하고 기다렸을 때

 

console창에 await contract 를 입력했을 때 

 

오류가 아닌 뭔가 정보가 막 뜨면 레벨 0을 풀 준비가 된 것입니다.

 

The Ethernaut - Level 0

굉장히 간단합니다.

 

블록체인과 솔리디티를 몰라도 풀 수 있습니다.

다음과 같이 await contract를 호출하면 여러 함수가 뜨는 것을 볼 수 있습니다.

 

우선 info, info1, info2를 호출해보면 별 내용이 없습니다.

 

이때 info2가 infoNum을 호출해보라고 하니, 호출해보면

 

42가 있는 것을 볼 수 있고,

 

await contract.info42()를 호출해보면

 

다음과 같이 다음 단계 힌트가 계속 나오는 걸 볼 수있고, 이대로 따라가다가 

 

contract.authenticate를 하고 password에서 얻은 ehternaut0을 넘겨주면

 

메타마스크로 트랜잭션 하나가 생성되는 것을 볼 수 있습니다.

 

생성된 트랜잭션을 허가 하고 요청을 보내고,

 

이후 Submit Instance를 누르면 레벨0을 클리어하고 다음 챕터로 넘어갈 수 있습니다.

 

읽어주셔서 감사합니당

'블록체인' 카테고리의 다른 글

The Ethernaut - Level 2 (Fal1Out) write up  (1) 2023.11.06
The Ethernaut - Level 1 (FallBack) write up  (2) 2023.11.06