보안

    wargame.kr 3번. QR CODE PUZZLE

    시작하면 랜덤하게 생성된 QR코드 퍼즐 조각들이 있다. 각 조각을 더블클릭하면 빈 공간으로 움직인다. 개발자 도구로 보면 각각 번호가 매겨져 있다. 이걸 보고 하나하나 맞춰야 하나 싶었는데, 스크립트를 보면 unescape 함수가 있다. 웹을 통해서 데이터를 전송할 때 특정 문자들은 특수한 기능으로 사용되는데, 이로 인해 생기는 문제를 해결하기 위한 방법이 이스케이핑이다. unescape는 escape로 이스케이핑 된 문자열을 되돌린다. 참고: opentutorials.org/module/2/2824 콘솔창에 함수를 복사해 붙이면 주소를 얻을 수 있다. 소스 탭으로 가 보면 img 폴더 내에 qr.png 파일이 있다. 완성된 qr코드 이미지이다. 이 파일 주소를 복사한다. qr code decoder라 ..

    wargame.kr 2번. flee button

    시작하면 검은 배경에 click me!라는 버튼이 마우스를 피해 돌아다닌다. 개발자 도구에서 이 버튼이 있는 div 태그를 찾아서 style을 보자. position: absolute를 해제하면 click me! 버튼이 고정된 위치에 있게 된다. 누르면 Flag를 얻을 수 있다.

    wargame.kr 1번. already got

    시작하면 새 페이지가 열리고 "you've already got key! :p"라는 문구가 뜬다. 답을 입력하는 공간에 "can you see HTTP Response header?"라는 힌트가 있었으니 개발자 도구를 열어 네트워크 탭을 열어보자. 네트워크 탭을 열고 새로고침을 해 보면 already_got이란 이름의 문서가 있다. 이 문서를 열면 Response Headers에 FLAG값이 있다.

    블록체인 암호학 - 암호학적 해시 함수

    해시(Hash) 해시 함수는 입력 데이터를 고정된 길이로 출력하는 함수다. 입력을 받아 출력을 계산하기는 쉬워도, 주어진 출력값에 해당하는 입력값은 찾기 어렵다. 작업 증명, 전자 서명, 멤버쉽 증명 등 다양한 곳에서 사용한다. 일반적인 해시 함수를 만드는 방법 해시 테이블(Hash table) 연관 구조를 이용하는 자료 구조 블룸 필터(Bloom Filter) 원소가 집합에 속하는지 여부를 검사하는데 사용되는 확률적 자료구조 체크섬(Checksum) 입력 데이터가 바뀌었는지 찾아내는 방법. 네트워크에서 오류가 발생했는지 체크하는 데 사용된다. 암호학적 해시 함수 이런 해시 함수를 작업증명이나 체인에 어떻게 적용할 수 있을까? 이런 해시 함수로는 적용할 수 없다. 일반적인 해시 함수와 다른 성질을 요구하..

    블록체인 암호학 - 암호학 기본 내용, 블록체인 암호 기술

    암호 핵심 모듈 대칭 암호(Symmetric Cryptography) 정보를 보내는 사람과 받는 사람이 같은 키를 사용하는 방법이다. 송신자는 키(key)를 사용해 메시지를 섞어 해석할 수 없는 텍스트 문자열로 만든다. 뒤섞인 메시지가 목적지에 도착하면 수신자는 동일한 키로 텍스트를 해독해 메시지를 드러낸다. 대칭 암호화 방식은 키가 핵심적인 역할을 맡는다. 메시지를 교환하기 전에 키에 대한 합의를 하거나, 수신 당사자에게 키를 전달해야 한다. 이 때문에 키가 위험에 노출된다. 제삼자가 키를 취득하면 중간에 메시지를 가로채 해독할 수 있다. 비대칭 암호(Asymmetric Cryptography) 정보를 보내는 사람과 받는 사람이 다른 키를 사용하는 방법이다. 공개키 암호(Public-key Crypto..