무작정 해킹 공부/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는 혼돈 성질을 만족하기 위해 치환을, 확산 성질을 만족하기 위해 순열을 사용한다. 곱 암호 : 치환이나 순열 같은 단순한 연산들로 한 라운드로 구성하고, 각 라운드를 여러 번 반복하여 암호학적 안전성을 확보하는 암호다. 페이스텔 암호 특징 : 페이스텔 구조를 사용하면 역함수가 존재하지..

무작정 해킹 공부/Cryptography2022. 8. 21. 00:37AES

SPN 곱 암호의 일종으로, S-Box를 사용하는 치환과 P-Box를 사용하는 순열을 여러 라운드에 걸쳐 반복한다. 페이스텔 구조와 달리 라운드마다 입력 전체에 라운드 함수를 적용하므로, 같은 수의 라운드를 사용할 때 SPN이 페이스텔 구조에 비해 두 배의 암호학적 안전성을 갖는다고 한다. AES 구조 AES는 DES가 취약해진 뒤, NIST가 새로 공모한 블록 암호의 표준 알고리즘으로 SubBytes, ShiftRows, MixColumns, AddAroundKey로 암호화 및 복호화가 이루어짐. AES는 라운드마다 128비트 크기의 블록을 암호화하는 블록 암호다. 키의 길이는 128, 192, 256 비트 중 하나 선택 가능. 라운드 수는 키의 길이에 따라 10, 12, 14로 결정. AES는 암호화..

무작정 해킹 공부/Web Hacking2022. 8. 20. 22:54Same Origin Policy

Same Origin Policy (SOP) 클라이언트 입장에서, 가져온 데이터를 악의적인 페이지에서 읽을 수 없도록 하는 브라우저 보안 메커니즘인 동일 출처 정책이다. 동일 출처 정책, 현재 페이지의 출처가 아닌 다른 출처로부터 온 데이터를 읽지 못하게 하는 브라우저의 보안 메커니즘. Same Origin : 현재 페이지와 동일한 출처 / Cross Origin : 현재 페이지와 다른 출처 SOP의 오리진(Origin) 구분 방법 오리진은 프로토콜(Protocol, Scheme), 포트, 호스트로 구성되는데 이 구성 요소가 모두 일치해야 동일한 오리진이라고 할 수 있습니다. SOP는 Cross Origin이 아닌 Same Origin일 때만 정보를 읽을 수 있도록 해준다. 간단한 코드 설명 Window..

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