무작정 해킹 공부/Cryptography2022. 10. 12. 11:56해시함수 & MAC

해시 함수 임의 크기의 데이터를 입력으로 받아, 고정된 크기의 데이터를 반환하는 함수 해시 함수의 반환값은 해시 값이라고 함 암호학적 해시 함수 성질 제1 역상 저항성 : 암호학적 해시 함수 H에 대해 y가 주어질 때, H(x) = y 를 만족하는 x를 찾기 어렵다. 이는 함수가 일방향 함수여야 함을 의미. 제 2 역상 저항성 : 함수 H에 대해 x가 주어질 때, x !=x’, H(x) = H(x’)을 만족하는 x’을 찾기 어렵다. 충돌 저항성 : 함수 H에 대해 x가 주어질 때, x != x’, H(x) = H(x’)을 만족하는 x, x’을 찾기 어렵다. 해시 함수의 종류 MD5, SHA256 메시지 인증 코드(MAC) MAC은 데이터와 함께 보내는 추가적인 정보로, MAC을 통해 데이터의 무결성을 보..

무작정 해킹 공부/Cryptography2022. 8. 21. 00:41블록암호 [ 운영모드 ]

패딩 평문에 데이터를 붙여서 평문의 크기가 블록 크기의 배수가 되도록 만드는 과정. 비트 패딩 : 마지막 블록에서 평문이 채우지 못하는 비트 중 최상위 비트를 1로 설정하고, 나머지는 모두 0으로 채우는 패딩 기법입니다. 바이트 패딩 : 바이트 단위로 패딩을 수행하는 패딩 기법. 바이트 패딩(PKCS#7) : PKCS는 공개키 암호의 표준 문서로서, 그 중 7번쨰 문서인 PKCS#7은 AES와 같은 블록 암호의 패딩 기법을 제시하고 있다. 이 PKCS#7에 소개된 패딩 기법은 PKCS#7으로 마지막 블록에 4바이트를 패딩한 것이다. [ 운영모드 ] > ECB 모드 가장 간단한 운영모드로, 블록들은 모두 같은 키로 암호화 된다. ECB 모드에서는 각 블록이 독립적으로 암호화되므로 여러 블록을 병렬적으로 암..

무작정 해킹 공부/Cryptography2022. 8. 21. 00:39DES 알고리즘

DES 구조 8바이트(64비트)를 한 블록으로 하는 블록 암호 전체 구조는 초기 순열, 최종 순열, 페이스텔 구조의 16라운드, 각 라운드에 사용되는 48비트의 키를 생성하는 키 생성 함수로 구성됨 DES에 입력되는 키의 길이는 64비트인데, 패리티 비트를 제거하면 실제로 사용되는 키의 길이는 56비트다. 백도어 : 컴퓨터 보안에서는 시스템을 쉽게 장악할 수 있도록 만들어진 비밀 통로를 백도어라고 한다. DES 원리 DES는 혼돈 성질을 만족하기 위해 치환을, 확산 성질을 만족하기 위해 순열을 사용한다. 곱 암호 : 치환이나 순열 같은 단순한 연산들로 한 라운드로 구성하고, 각 라운드를 여러 번 반복하여 암호학적 안전성을 확보하는 암호다. 페이스텔 암호 특징 : 페이스텔 구조를 사용하면 역함수가 존재하지..

Wargame/DreamHack2022. 8. 12. 16:35고전 암호 & 현대 암호

1. 고전 암호 1) 치환 암호 : 평문의 문자를 다른 문자로 바꾸는 것 - 단일 문자 치환 암호 : 평문의 각 문자를 약속된 다른 문자로 치환하는 암호로 일대일 대응관계이다. ex) 카이사르 암호 : 평문의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 치환. - 다중 문자 치환 암호 : 평문의 한 문자가 암호문에서 여러 종류의 문자로 치환될 수 있다. ex) 비제네르 암호 : 암호와화 복호화가 미리 정해진 키워드를 통해 반복하며 치환하여 이루어진다. Ci​=Ek​(Mi​)=(Mi​+Ki​)mod26 Mi​=Dk​(Ci​)=(Ci​−Ki​)mod26 2) 전치 암호 : 평문을 구성하는 문자들의 순서를 재배열하여 암호문을 만든다. 3) 공격방법 - 전수 키 탐색 공격 : 평문과 암호문을 알 때, 키..

Level 1 : session-basic
Wargame/DreamHack2022. 8. 8. 18:24Level 1 : session-basic

문제 파일을 다운로드 받은 후 접속 정보 사이트로 들어갑니다. 사이트에서 Login 클릭 후 guest / guest 로 로그인을 해봅니다. admin이 아니라고 나타납니다. 이 때 주소창에 /admin을 추가해보면 다음과 같이 나타나는 것을 알 수 있습니다. admin에 해당하는 값을 복사하여 원래의 창으로 돌아간 다음 개발자 도구에서 Application을 클릭하여 cookies를 선택 후 sessionid의 Value 값에 붙여넣기 하여 변경해준다. 그리고 새로고침을 해주면 다음과 같은 화면이 나타나는 것을 확인할 수 있습니다.

Level 1 : dev tools-sources
Wargame/DreamHack2022. 7. 22. 18:20Level 1 : dev tools-sources

문제 파일을 다운로드 후 index.html을 클릭하여 들어가본다. 개발자 도구에서 Sources로 들어가서 Ctrl+shift+F를 사용하여 flag를 검색해보면 파일이 하나 나오지만 해당 파일에서 플래그의 값을 얻을 수 없다. 따라서 flag의 기본 값인 DH를 검색하면 해당 플래그의 값을 얻을 수 있습니다.

image