목록2025/09 (6)
Tyojong
보호되어 있는 글입니다.
문제 설명이 문제는 Fallback, receive 함수가 잘못 설정되었을 때 발생할 수 있는 취약점을 학습할 수 있다.이 문제를 해결하기 위해서는 컨트랙트의 소유권을 획득하고 컨트랙트 잔고를 0으로 만든다.(모든 이더를 빼낸다.) 코드 분석배포자를 owner로 설정하고 owner의 초기 기여금을 1000 ETH로 설정한다. contribute() 함수는 0.001 ETH 미만의 금액만 받을 수 있고 받은 기여금을 저장한다.호출자의 기여금이 소유자의 기여금보다 많으면 owner(소유권)을 이전한다. 호출자의 현재 기여금을 알려주는 읽기 전용 함수이다. 호출자가 소유자인지 확인하는 제한자이다. 제한자가 적용되어 있는 함수로 소유자만 호출 가능하다.소유자 주소를 payable 타입으로 캐스팅하고 (ETH를 ..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
이 문제는 password변수의 값이 private설정이 아닌 public설정으로 되어있어 발생하는 취약점으로변수 설정이 잘못 될 경우 민감한 정보가 노출될 수 있는 취약점이 발생한다는 것을 보여준다.인스턴스 생성 후 개발자 도구의 console 탭을 이용해 문제를 해결하면 된다.help()를 이용해 사용할 수 있는 함수 목록을 확인할 수 있다. 함수를 통해 여러 정보를 확인할 수 있고 await를 이용해 내가 원하는 값만 출력할 수 있다. 문제 설명에 contract.info() 또는 await contract.info()를 입력하라고 한다. await contract.info() 를 입력하니 info1() 을 입력하라고 한다. await contract.info1() 을 입력하니 이번에는 hello ..
보호되어 있는 글입니다.