솔리디티
-
[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 풀이] 이더리움을 해킹해보자 - 4.TelephoneBlockChain/Technology 2021. 8. 11. 13:17
오늘의 풀어볼 문제는 Telephone 입니다. 이번 예제는 간단할 수 있지만 이 예제는 간단할 수 있지만 tx.origin과 msg.sender를 혼동하면 악의적인 피싱 공격이 일어날 수 있습니다. 피해자가 스스로 공격자의 악의적인 주소로 자금을 보낼 수 있습니다. ≪ Ethernaut 풀이 시리즈 ≫ [Ethernaut 풀이] 이더리움을 해킹해보자 - 0.Hello Ethernaut [Ethernaut 풀이] 이더리움을 해킹해보자 - 1.Fall back [Ethernaut 풀이] 이더리움을 해킹해보자 - 2.Fallout 1. 목표 확인 Claim ownership of the contract below to complete this level. ownership만 가져오면 됩니다. 이번 level..
-
나만보는 Blockchain 개념 (7) 크립토 좀비로 알아보는 솔리디티 -1편-BlockChain/Technology 2021. 8. 8. 17:34
오늘의 주제 좀비!!! ...만들기를 통한 솔리디티 개념 정리 1편 - 컨트랙트, 상태변수&정수, 구조체 - 1. 크립토좀비 룸네트워크가 개발한 교육 플랫폼으로 학습자가 대화형 방식으로 크립토 수집품 게임을 직접 만들어 봄으로써 솔리디티로 스마트 컨트렉트를 작성하는 방법을 배울 수 있는 유용한 학습 툴입니다. 커리큘럼은 Beginner 6코스, Advanced 5코스, Beyond 4코스로 되어 있습니다. 이번 포스팅에서는 Beginner 1코스를 하겠습니다. 목표 모든 생명체는 고유한 DNA를 가지고 있습니다. 우리가 만들게 될 크립토 좀비도 고유한 DNA를 가지고 있고, 이 DNA에 따라 좀비의 외모도 독특하게 바뀝니다. 또한 블록체인에 만들어지기 때문에 한번 태어난 나의 좀비는 영원히 존재하게 됩니..
-
나만보는 Blockchain 개념 (4) 솔리디티로 이더 송금하기BlockChain/Technology 2021. 7. 27. 15:19
오늘의 주제 1. 컨트랙트에서 이더 송금하기 2. fallback() 함수 3. selfdestruct() 함수 1. 컨트랙트에서 이더 송금하기 Solidity 프로그래밍을 위해 remix.ethereum에 들어갑니다. 새로 파일을 하나 만들고, 아래 코드를 작성하고 컴파일을 합니다. pragma solidity 0.8.6; contract Test1 { uint nonce; constructor(uint _nonce) payable { nonce = _nonce; } function getNonce() public view returns (uint) { return nonce; } function withdraw(uint _nonce) public { require(nonce == _nonce); pa..