>

전체 글

https://dreamhack.io/wargame/challenges/1244 ExcellentMemberDescriptionDid you find something weird? You should notice it.About challenge environmentVisit /start to generate a random token. It will redirect you to /{token}. Note that you will not be able to get this token information again.Visit /{token}/info to gedreamhack.io ExcellentMember를 어떤 과정을 통해 분석하고 exploit을 작성했는지 정리하겠습니다. 코드 분석(1) Ow..
1. 모임 6회차2025.08.17 19시 ~ 22시 2. 공부 계획 및 결과양영우 공부 계획 및 결과 신준석 공부 계획 및 결과 안우진 공부 계획 및 결과 3. 모임 사진
스마트 컨트랙트 취약점타임스탬프 의존성 (Timestamp Dependence)타임스탬프 의존성 취약점은 스마트 컨트랙트의 중요 로직(예: 당첨자 선정, 락업 해제)이 블록의 타임스탬프(block.timestamp)에 의존할 때 발생합니다. 블록체인의 타임스탬프는 블록 생성자(과거의 채굴자, 현재의 검증인)에 의해 어느 정도 조작될 수 있기 때문에, 이를 악용하여 특정 결과를 유도할 수 있습니다.취약점 예시 코드아래 컨트랙트는 블록 타임스탬프의 마지막 숫자를 기반으로 당첨자를 결정하는 간단한 복권 게임입니다.Solidity // SPDX-License-Identifier: MITpragma solidity ^0.8.0;contract UnsecureLottery { address[] public p..
1. 모임 5회차2025.08.10 19시 ~ 22시 2. 공부 계획 및 결과양영우 공부 계획 및 결과 신준석 공부 계획 및 결과 안우진 공부 계획 및 결과 3. 모임 사진
smart contract 취약점정수형 캐스팅 오류 (Integer Type Casting Vulnerability)smart contract에서 서로 달느 크기의 정수형 변수 간에 casting을 수행할 때 의도치 않은 값 손실이나 오버플로우가 발생할 수 있다. 특히 uint256을 uint8이나 uint16같은 작은 타입으로 casting할때 문제가 된다. // SPDX-License-Identifier: MITpragma solidity ^0.8.0;contract CastingExample { mapping(address => uint256) public balances; function deposit() external payable { balances[msg.sender..
1. 모임 4회차2025.08.03 19시 ~ 22시 2. 공부 계획 및 결과양영우 공부 계획 및 결과 신준석 공부 계획 및 결과 안우진 공부 계획 및 결과 3. 모임 사진
smart contract 취약점4. 프런트러닝 (Front-Running) 프런트러닝은 블록체인의 투명성을 악용하는 공격이다. Attacker는 아직 처리되지 않은 트랜잭션이 모여있는 mempool을 감시하다가, 이득이 될 만한 트랜잭션 발견하면 더 높은 gas fee를 지불해 Attacker의 트랜잭션을 먼저 처리하도록 끼어드는 방식이다. 취약점 예시contract InsecureFindTheWord { bytes32 public solutionHash; // 정답 단어의 해시값 uint public prizeAmount = 1 ether; address public winner; constructor(bytes32 _solutionHash) { solutionHas..
1. 모임 3회차2025.07.27 19시 ~ 22시 2. 공부 계획 및 결과양영우 공부 계획 및 결과 신준석 공부 계획 및 결과 안우진 공부 계획 및 결과 3. 모임 사진
0u_Y
점이 모여 선이 되고