1. 문제

금고여셈 ㅋㅋ
pragma solidity ^0.8.0;

contract Vault {
    bool public locked;
    bytes32 private password;

    constructor(bytes32 _password) {
        locked = true;
        password = _password;
    }

    function unlock(bytes32 _password) public {
        if (password == _password) {
            locked = false;
        }
    }
}

2. 문제 의도

solidity에서 private로 선언을 하더라도 해당 변수자체를 안보이게 방지해주지 않는다. → 블록체인에서는 모든 코드는 공개 되어 있다

이를 이용해 password를 찾아라

3. password 찾기

etherscan 에서 찾기

문제 instance 주소를 검색

image.png

왼쪽 화살표 클릭해서 탭 펼치기

image.png

2번쨰 slot 찾기

image.png