해킹
-
[Ethernaut 풀이] 이더리움을 해킹해보자 - 8.VaultBlockChain/Technology 2021. 8. 12. 13:55
오늘의 풀어볼 문제는 Vault 입니다. 컨트랙트에서 변수를 private로 표시하면 다른 컨트랙트가 해당 변수에 엑세스하는 것을 방지할 수 있다는 점을 기억하는 것이 중요합니다. 하지만 private과 loacal로 표시된 상태 변수들은 여전히 공개적으로 접근할 수 있습니다. zk-SNARK는 매개변수를 공개할 필요 없이 누군가가 비밀 매개변수를 소유하고 있는지 여부를 판별하는 방법을 제공합니다. ≪ Ethernaut 풀이 시리즈 ≫ [Ethernaut 풀이] 이더리움을 해킹해보자 - 4.Telephone [Ethernaut 풀이] 이더리움을 해킹해보자 - 6.Delegation [Ethernaut 풀이] 이더리움을 해킹해보자 - 7.Force 1. 목표 확인 이번 level의 목표는 금고를 여는 것입..
-
[Ethernaut 풀이] 이더리움을 해킹해보자 - 7.ForceBlockChain/Technology 2021. 8. 12. 11:47
오늘의 풀어볼 문제는 Forece 입니다. 컨트랙트에 이더를 받기 위해서는 fallback 함수가 payable로 표시되어 있어야 합니다. 그러나 공격자가 selfdestruct를 통해 컨트랙트에 이더를 보낼 방법을 막을 수 없습니다. address(this).balance == 0에 의존하지 않는 것이 중요합니다. ≪ Ethernaut 풀이 시리즈 ≫ [Ethernaut 풀이] 이더리움을 해킹해보자 - 2.Fallout [Ethernaut 풀이] 이더리움을 해킹해보자 - 4.Telephone [Ethernaut 풀이] 이더리움을 해킹해보자 - 6.Delegation 1. 목표 확인 이번 level의 목표는 컨트랙트의 잔액을 0보다 크게 만드는 것입니다. Things that might help: Fal..
-
[Ethernaut 풀이] 이더리움을 해킹해보자 - 6.DelegationBlockChain/Technology 2021. 8. 12. 00:53
오늘의 풀어볼 문제는 Delegation 입니다. delegatecall 사용은 특히 위험하며 여러 해킹의 공격 벡터로 사용되었습니다. delegates는 당신의 컨트랙트에 대하여 완전한 접근 권한을 가집니다. 강력한 기능인만큼 위험하며 The Partiy Wallet Hack Explained은 이 아이디어가 어떻게 3천만 달러를 훔치는데 사용되었는지에 대해 다뤘습니다. ≪ Ethernaut 풀이 시리즈 ≫ [Ethernaut 풀이] 이더리움을 해킹해보자 - 1.Fall back [Ethernaut 풀이] 이더리움을 해킹해보자 - 2.Fallout [Ethernaut 풀이] 이더리움을 해킹해보자 - 4.Telephone 1. 목표 확인 이번 level의 목표는 주어진 instance의 owenershi..
-
[Ethernaut 풀이] 이더리움을 해킹해보자 - 2.FalloutBlockChain/Technology 2021. 8. 11. 02:19
오늘의 풀어볼 문제는 Fallout 입니다. 이번 주제는 Rubixi라는 회사에서 일어났었던 이더리움 생태계의 실화를 바탕으로 만들어진 내용입니다. 공격자는 아주 간단한 방법으로 onwership을 주장하고, 일부 자금을 훔칠 수 있었습니다. ≪ Ethernaut 풀이 시리즈 ≫ [Ethernaut 풀이] 이더리움을 해킹해보자 - 0.Hello Ethernaut [Ethernaut 풀이] 이더리움을 해킹해보자 - 1.Fall back 1. 목표 확인 컨트랙트의 소유권을 주장하기 이번 level은 목표도 하나이고, 하는 방법은 간단합니다. 그냥 ownership만 가져오면 됩니다. Get new instance 버튼을 눌러 인스턴스를 생성하고 시작합니다. 2. 문제풀이 이번에 주어진 컨트랙트의 코드입니다...
-
[Ethernaut 풀이] 이더리움을 해킹해보자 - 1.FallbackBlockChain/Technology 2021. 8. 11. 01:11
오늘의 풀어볼 문제는 Fallback 입니다. Fallback은 컨트랙트 함수에 없는 함수를 호출했을 때 실행되거나 컨트랙트에 receive 함수가 없는 데 data 없이 호출되었을 때 실행됩니다. ≪ Ethernaut 풀이 시리즈 ≫ [Ethernaut 풀이] 이더리움을 해킹해보자 - 0.Hello Ethernaut 1. 목표 확인하기 컨트랙트의 주인이 되어야 한다. 컨트랙트의 잔액이 0이 되어야 한다. Get new instance를 눌러 게임을 시작합니다. 콘솔창에 보면 Level address와 Instance address 두 가지 주소가 나옵니다. Level - Contract Account (CA) -> Level 컨트랙트는 사용자가 요청하면 Instance 컨트랙트를 생성합니다. 콘솔 명령..