Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

전체 213

Ethernaut 문제풀이 #4 - Telephone

레벨 4 Telephone입니다. 이번 문제도 Ownership을 탈취하는 문제고 역시 Beyond the console을 참고하라는, 즉 다른 컨트랙트를 통해 이 컨트랙트를 공격하라고 합니다. 자 해 봅시다. 똑같이 인스턴스를 생성하시고 나서 코드를 분석해 보겠습니다. 이번에는 코드가 짧네요. // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; contract Telephone { address public owner; constructor() public {//오너 설정 owner = msg.sender; } function changeOwner(address _owner) public { if (tx.origin != msg.sender) {//tx...

Ethernaut 문제풀이 #3 - Coin Flip

3번 문제 Coin Flip입니다. 동전뒤집기! 설명에도 동전의 앞면 뒷면을 예측하는 동전 뒤집기 게임이라고 나와 있네요. 사실 개인적으로는 블록체인 기술을 적용하면 딜러나 장부가 조작될 수 없다는 점에서 도박에도 적용하기 훌륭한 기술이라고 생각하고 있습니다. 하지만 이기기 위한 조건이 10번 연속 이기기입니다. 초능력을 사용하라고;;;; 요즘 유행인 오징어 게임 유리다리 건너기가 생각나네요. ㅎㅎ 거긴 연속 18번. 그에 비하면 양호하지만 유리 다리에서 죽은 사람들 생각하면 ㅠㅠㅠㅠ 자 10 연속 맞추러 갑시다. help 메뉴의의 Beyond the console을 읽어보는 게 좋을 것이라고 합니다. 제발 읽어 보자구요.ㅎㅎ https://ethernaut.openzeppelin.com/help Eth..

Ethernaut 문제풀이 #2 - Fallout

Fallout이라는 이름의 문제입니다. 오너십을 탈취하는 건데요. Solidity Remix IDE라는 솔리디티용 online ide가 도움이 될 거라고 나와 있습니다. 접속하면 아래와 같은 모습입니다. 마찬가지로 파란색 Get new instance 버튼을 눌러 인스턴스를 할당 받습니다. 컨트렉트에 6개의 ABI가 있구요. 음.. 오케이 그럼 일단 오너를 확인해봅시다. await contract.owner() 오잉? 오너가 없습니다. 그렇다면 보통 오너를 생성자에서 지정하니 분명 생성자에 문제가 있겠네요. 살펴봅시다. 생성자인데요. 음 저번 fallback과 비교해본다면 이전에는 constructor()를 사용해 생성자를 정의했고 이번 fallout은 자기 자신의 이름을 사용함으로써 생성자를 정의했네요..

Ethernaut 문제풀이 #1 - Fallback

2022.02.28 - [Smart contract/Ethernaut 문제풀이] - Ethernaut 문제풀이 #0 - Hello Ethernaut Ethernaut 두번째 Fallback 이라는 제목의 문제입니다. 두 가지 조건을 만족하면 클리어됩니다. 컨트렉트의 오너가 됩니다. 컨트렉트의 잔고를 0으로 만듭니다. 그리고 아래가 도움이 된다고 합니다. ABI와 상호 작용하여 이더를 보내는 방법 : 0번에서 지겹게 했었죠? ABI를 이용하지 않고 이더를 보내는 방법 wei/ether 단위를 변경하는 방법 (1 ether = 1,000,000,000,000,000,000 WEI) fallback method : ABI를 호출하지 않고 바로 이더를 컨트렉트로 송금하면 수행됩니다. 이번 문제부터는 Solidi..

Ethernaut 문제풀이 #0 - Hello Ethernaut

Ethernaut은 Ethereum smart contract 해킹을 통해 취약점을 파악하여 대비할 수 있도록 연습하는 일종의 게임입니다. 아래 링크에서 시작할 수 있습니다. 같이 한단계 한단계 시작해봅시다. https://ethernaut.openzeppelin.com/ Ethernaut ethernaut.openzeppelin.com *** 참고 Ethernaut 문제를 풀기 위해서는 적어도 CryptoZombie정도는 완료하셔야 합니다.(이것도 부족할 수 있습니다.) https://cryptozombies.io/ #1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies CryptoZombies is The Most P..

SSL/TLS embedded for IoT #9

SSL/TLS embedded for IoT 이 글은 embedded IoT device의 보안에 관한 글입니다. embedded SSL/TLS 아홉번째 이지만!!! 너무 오래 포스팅을 하지 않아서 .... 재작년이 마지막이었네요... 아하하하하하하... 너무 오랜 시간이 지난지라 저도 이어 하기가 쉽지 않고 그리고 티스토리도 불편하기고 하고 너무너무 바쁩니다. ㅠㅠ 그리고 또 두어달 후면 인도로 나가게 되서 embedded ssl example은 github에서 관리하려고 합니다. 아래 링크에서 확인하실 수 있어요.https://github.com/bangbh81/WIZnet-SSL-Example W5100S EVB(W5100S + STM32F103VC) 에서 작업한 것(위그림)이지만 다른 IC에서도 ..

HTTPS Root Certificate 다운로드 및 코드 적용 방법

본 글은 HTTPS를 위한 Root certificate를 코드에 적용시키는 방법에 대한 글입니다. Embedded SSL을 하다보니 자질구래한 일들이 꽤 많습니다. 그 중 하나가 바로 Certificate입니다. Certificate는 글자 그대로 인증서입니다. 모든 HTTPS 서버는 인증서를 가지고 있습니다. 그리고 그 인증서를 인증해주는 상위 인증서들이 있습니다. 맨 꼭대기에 위치해 있는 인증서가 바로 Root certificate이고 이 Root certificate는 시만텍 등 세계적인 보안기업들이 관리하고 있지요. SSL을 하려면 이 인증서가 필요한데요 Server에 SSL을 적용하려면 돈을 내고 상위 인증기관으로부터 인증서를 발급받아야 하는데 ㅎㅎㅎ 당연하겠지만 돈이 필요합니다. 그럼 Cli..

SSL/TLS embedded for IoT #8

SSL/TLS embedded for IoT 이 글은 embedded IoT device의 보안에 관한 글입니다. embedded SSL/TLS 여덟번째입니다. 대만 출장으로 인해 이번 포스팅이 조금 늦었습니다. 그리고 이번 강의 후 인도 출장이 잡혀 있어 약 2-3주 간 글 업로드가 힘들 것 같습니다. 양해 바랍니다. 그럼 시작해봅시다. 저번 시간에 초기화와 handshake를 제외한 SSL 함수들을 만들어 보았습니다. 계속 이어서 가봅시다. 초기화입니다. 초기화 함수는 mbed의 example을 참고하였습니다. 해당 example은 다운로드 받은 mbedtls 소스 중 programs 폴더 -> ssl 폴더에 있습니다. 하지만 여러분들이 이 글을 읽는 이유는 embedded SSL을 구현에 시간을 단..

SSL/TLS embedded for IoT #7

SSL/TLS embedded for IoT 이 글은 embedded IoT device의 보안에 관한 글입니다. embedded SSL/TLS 일곱번째입니다. 다시 달려 보겠습니다.(뭐 물론 저 혼자만의 느낌이지만.. ㅠㅠ) 저번시간에 만들어야할 함수 목록들이 있었습니다. 7개 정도? 있었지요? 한 번 만들어 봅시다. 물론 mbedTLS configuration 등 신경써야 할 부분이 많습니다. 하지만 장담하건데 시작하시기도 전에 지치실 수 있습니다. 그러니 아무 생각 말고 걱정 말고 따라 오셔요 ㅎㅎ. 아래가 만들어야 할 함수 목록 이라고 말씀드렸습니다. 사실 안만드셔도 됩니다. 하지만 사용하시려면 결국 만드실 겁니다. wiz_mbedtls_ssl_init();wiz_mbedtls_ssl_deinit..

SSL/TLS embedded for IoT #6

SSL/TLS embedded for IoT 이 글은 embedded IoT device의 보안에 관한 글입니다. embedded SSL/TLS 여섯번째입니다. 너무 몰아붙이나요? ㅎㅎ 아니겠죠 ㅎㅎ 저만 ㅠㅠ 여러분들은 시간날 때 보면 되니까 ㅠㅠ 암튼 전 주말이지만 기다리시는 분들이 계셔서 계속 진행합니다. 오늘은 W5500 iolibrary와 mbedTLS를 이어 붙이는 시간이 될 거에요. 하지만 그 전에 SSL/TLS라는 게 서버든 클라이언트든 있어야 하잖아요? 또 그러기 위해서는 뭔가... 그 뭐냐... 그그그그그.... Application!이 있어야 하겠죠? 제가 건망증이 좀 있습니다. 양해 좀 ㅎㅎ 우리가 지금 IoT 하고 있잖아요? 그래서 네트워크 어플리케이션으로 MQTT를 정하겠습니다...

반응형