전체 글
-
[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 컨트랙트를 생성합니다. 콘솔 명령..
-
[Ethernaut 풀이] 이더리움을 해킹해보자 - 0.Hello EthernautBlockChain/Technology 2021. 8. 10. 22:38
Ethernaut는 Web3/Solidity 기반의 게임으로 각 레벨마다 '해킹'을 해야하는 게임입니다. 플레이어는 이를 통해 이더리움 스마트 컨트랙트의 취약점을 직접 배울 수 있습니다. OpenZeppeline과 Smart Contract Auditing으로 유명한 Zeppeline team에서 제공하고 있으며, 총 15단계로 이뤄져 있고 각 레벨마다 컨트랙트의 취약점을 찾아내야 합니다. 100% 오픈 소스로 모든 레벨은 다른 플레이어가 기여한 것입니다. The Ethernaut 사이트에 접속하면 아래와 같은 화면이 나옵니다. Play now 버튼을 눌러 게임을 시작할 수 있습니다. Ethernaut play하기 https://ethernaut.openzeppelin.com/ Ethernaut ethe..
-
같이보는 Blockchain (8) 블록체인의 미래 <1>BlockChain/Technology 2021. 8. 10. 01:33
오늘의 주제는 블록체인 교육을 배우며 들었던 생각들을 나누려 합니다. 블록체인 이모저모 교육을 마치고 집와서 공부하다 더 머리가 안돌아가서 쓰는 글이다. 블록체인 하면 아직도 비트코인, 암호화폐가 더 생각나는 것 같다. 내가 받고 있는 교육은 블록체인과 비즈니스 모델을 배운다. 처음에는 암호화폐를 아는 동생과 투자를 함께 시작했지만 겉핡기 식의 지식을 쌓아올리며 참 멋있는 기술이라 생각했다. 중계자가 필요없다니 또 누구나 자유롭게 어떠한 압력도 받지 않고 거래하고, 의사를 표현하고, 참여하는 이상적인 세상을 이룰 기반 모델로 보았다. 어쩌면 현재의 갈수록 악화되는 구조를 만들고 있는 현재의 자본주의의 한계점을 해결할 수 있지 않을까 하는 생각도 했었다. 1달차 비즈니스 모델 블록체인이 무엇인가, 비트코인..
-
[JavaScript] 이벤트(Event)와 이벤트리스너(Event Listener)WEBn/JavaScript 2021. 8. 8. 21:11
이번 시간의 주제는 Event 자바스크립트에서 아주 중요한 부분이다. 그만큼 많이 자주 쓰이기 때문이다. 1. 이벤트(Event) 자바스크립트와 HTML은 이벤트 핸들에 의해서 서로 상호작용한다. 브라우저에 어떤 부분을 클릭하거나 마우스를 올려놓거나 키를 입력하거나 화면이 줄거나 늘 때 등등 모든 동작에 이벤트가 발생한다. 사용자가 일으키는 다양한 이벤트들을 캐치해서 자바스크립트에서 원하는 행위를 구현할 수 있다. 자주 쓰이는 간단한 예시를 살펴보자. 1 2 3 4 5 6 Click this document to activate the handler. window.addEventListener("click", () => { console.log("You knocked?"); }); Colored by C..
-
나만보는 Blockchain 개념 (7) 크립토 좀비로 알아보는 솔리디티 -1편-BlockChain/Technology 2021. 8. 8. 17:34
오늘의 주제 좀비!!! ...만들기를 통한 솔리디티 개념 정리 1편 - 컨트랙트, 상태변수&정수, 구조체 - 1. 크립토좀비 룸네트워크가 개발한 교육 플랫폼으로 학습자가 대화형 방식으로 크립토 수집품 게임을 직접 만들어 봄으로써 솔리디티로 스마트 컨트렉트를 작성하는 방법을 배울 수 있는 유용한 학습 툴입니다. 커리큘럼은 Beginner 6코스, Advanced 5코스, Beyond 4코스로 되어 있습니다. 이번 포스팅에서는 Beginner 1코스를 하겠습니다. 목표 모든 생명체는 고유한 DNA를 가지고 있습니다. 우리가 만들게 될 크립토 좀비도 고유한 DNA를 가지고 있고, 이 DNA에 따라 좀비의 외모도 독특하게 바뀝니다. 또한 블록체인에 만들어지기 때문에 한번 태어난 나의 좀비는 영원히 존재하게 됩니..
-
[JavaScript] setTimeoutWEBn/JavaScript 2021. 8. 7. 21:46
끝이 보이지 않는 자바스크립트 하나씩 배우다 보면 기본기가 탄탄해질까 한다. 오늘의 주제는 setTimeout setTimeout은 일정 시간이 지난 후에 원하는 함수를 예약 실행(호출)할 수 있게 한다. 실시간 날씨 정보를 업데이트 해줘야 하는 문제가 생겨서 주기적으로 갱신할 수 있는 방법을 찾다가 알게 되었다. 문법은 이렇다. let timerId = setTimeout(function, [delay], [arg1], [arg2], ...) function 실행하고자 하는 함수 delay 실행하기 전 대기 시간이며 기본값은 0이다, 단위는 밀리초(millisecond) arg1, arg2 함수에 전달할 인수들 예시가 있어야 이해가 잘가므로 바로 예시를 보자. 기본 형태 function hello() ..
-
[CSS] Game으로 Grid를 배우자WEBn/CSS 2021. 8. 6. 00:04
웹개발을 하다보면 항상 늘 언제나 헷갈리는 것이 CSS이다. 특히 내가 원하는 곳에 버튼과 폼과 기타 요소들을 배치하고 싶은데 내 맘대로 절대 안움직인다. 웹 페이지의 레이아웃 개념이 부족하기 때문이다. 그래서 그 개념을 한번 잡고가기 위해 검색하던 중 Game으로 배우는 사이트를 발견하였다.이름하여... Grid Garden https://cssgridgarden.com/#ko Grid Garden A game for learning CSS grid layout cssgridgarden.com 사이트를 접속하면 이렇게 바로 1단계 게임이 시작된다. 그리드로 나누어진 땅에 CSS 코드를 입력해서 물을 준다. 1단계는 매우 쉬웠다. grid-column-start: 3;을 입력하면 3번째 칸에 물주기 성공..