분류 전체보기 117

[Webhacking.kr] Challenge(old) 4번 문제

문제페이지는 해당페이지와 같다. 초록색 글자의 해시값과 password 입력창, 페이지 소스 링크가 있다는 것을 알 수 있다. 새로고침을 누르면 해시값이 바뀌는 것을 확인할 수 있다. 페이지에 접속할 때마다 변경되는 해시값에 따라서 패스워드가 다르다는 것이라고 유추할수 있다. 해당 페이지 소스를 확인해 본다. 하단의 php 부분을 자세히 봐본다. sleep(1); // anti brute force brute force 공격을 막기위해 sleep(1) 함수가 적용되있다. if((isset($_SESSION['chall4'])) && ($_POST['key'] == $_SESSION['chall4'])) solve(4); 'chall4'라는 세션값이 존재하고 post 형태의 key값이 세션값과 같다면 문제..

[Webhacking.kr] Challenge(old) 3번 문제

문제 페이지는 해당 페이지와 같습니다. 해당 화면은 Nonogram이라는 퍼즐게임으로 가로 세로에 정해진 숫자만큼 타일을 칠하는 게임이다. 자세한 설명은 해당 링크를 참고한다. 해당 Nonogram을 풀면 상단과 같이 나오고 solved를 눌러 제출한다. 제출 시 하단과 같은 페이지로 이동한다. 입력창에 test라고 입력하고 submit을 눌러 제출한다. name, answer, ip가 나오는 것을 확인할 수 있다. (해당 ip는 보안상 블록처리했다.) 이전 페이지로 돌아가서 입력창에 test1를 입력하고 submit 한다. 입력 내용들이 누적되어 기록되는것을 확인할 수 있다. 또한, name 부분만 바뀌고 answer값은 고정이 되있는 것을 알 수 있다. name 입력창에 하단 구문들을 입력하여 SQL..

[현대 암호학] 08-5. 일방향 해시 함수의 SHA-512

5. 일방향 해시 함수의 SHA-512 SHA-512 구조 입력: 최대 2128 bits 이하 메시지 출력: 512 bits(64 bytes) 메시지 다이제스트 입력 데이터는 길이 1024비트 블록으로 처리 SHA-512 처리 단계 패딩 비트 붙이기 길이 붙이기 MD 버퍼 초기화 1024-비트(128-워드)블록 메시지 처리 출력 SHA-512의 안정성 2017년까지 약점 발견된 것 없음 확률적 안정성 * 약 충돌성: 동일한 메시지 다이제스트를 갖는 두 개의 서로 다른 메시지를 찾는 난이도 연산 수행 수는 2256 * 강 충돌성: 주어진 다이제스트와 동일한 다이제스트를 갖는 메시지를 찾는 난이도 연산 수행 수는 2512 SHA-3(Secure Hash Algorithm) 이론적 공격방법이 알려져 버린 SH..

현대 암호학 2021.06.30

[현대 암호학] 08-4. 일방향 해시 함수의 SHA-1

일방행 해시 함수 SHA-1 개요 SHA-1 구조 입력: 최대 264 bits 미만 메시지 출력: 512 bits 메시지 다이제스트 => 160 bits 해시값 블록 크기 : 512 bits SHA-1 처리 단계 패딩(Padding) W0 ~ W79 계산 블록 처리 단계 1 ~ 단계 80 처리 패딩(Padding) 목적: 512비트 블록 만들기(1추가 + 데이터 크기 표시) 패딩(Padding)? 메시지 뒤에 여분의 데이터를 부가하여 메시지의 길이가 512비트의 정수배가 되도록 하는 것 패딩의 예 입력: Hello. (6바이트(48비트))의 메시지 - ASCII 코드로 부호화하여 2진수로 표현하면 - 여기에 1을 붙인다. H e l l o . 01001000 01100101 01101100 0110110..

현대 암호학 2021.06.30

[현대 암호학] 08-2. 일방향 해시 함수의 응용 예 / 3. 일방향 해시 함수의 예

2. 일방향 해시 함수의 응용 예 소프트웨어의 변경 검출 자신이 입수한 소프트웨어가 변경 되었는지를 확인하기 위해 일방향 해시 함수를 사용 (예) md5sum, sha512sum, ... (예) httpd.apache.org/download (예) 포렌식에서 파일 무결성 확인 * 포렌식 보고서 내용 중 일부 내용(구글 검색: "포렌식 보고서") 패스워드를 기초로 한 암호화 패스워드를 기초로 한 암호화(Password based Encryption, PBE)에서 사용 PBE에서는 패스워드와 솔트(salt)를 섞은 결과의 해시 값을 구해 그것을 암호화 키로 사용 패스워드 사전공격(Dictionary attack) 방어 (예) 리눅스(SHA512)/윈도우 시스템(NTLM)의 encrypted password ..

현대 암호학 2021.06.30

[현대 암호학] 08-1.일방향 해시 함수

1. 일방향 해시 함수 파일의 진위 어제 저장한 파일과 오늘의 파일 비교 밤새 맬로리가 파일을 변경했는지 어떤지를 조사하고 싶다. 무결성(Integrity) 파일이 변경되지 않았음 파일의 지문(fingerprint) 범죄 수사에서 지문을 채취하는 것과 마찬가지로 앨리스가 만든 파일의 "지문"을 채취할 수 없을까? 파일 전체를 비교하는 대신에 작은 지문만을 비교하는 것만으로도 무결성을 확인할 수 있다면 매우 편리 일방향 해시 함수(One-way hash function)란? 일방향 해시 함수는 바로 파일의 지문을 재취하는 기술 일방향 해시 함수가 만들어내는 "해시 값"(다이제스트)은 메시지의 지문에 해당 일방향 해시 함수(One-way hash function) 입력과 출력이 각각 1개씩 있다. 입력은 메..

현대 암호학 2021.06.30

[Webhacking.kr] Challenge(old) 2번 문제

문제 페이지는 해당 페이지와 같다. 해당 페이지에서는 아무 단서도 없어서 해당 페이지 소스를 확인해 본다. admin.php 에 접근해야 할 될 거 같은 문구가 확인 된다. 해당 페이지로 접근하면 패스워드를 입력하는 창이 나오는 것을 확인할 수 있다. DB에 접근하여 해당 페이지의 패스워드를 알아내서 입력하면 해당 문제가 풀릴 거 같다. SQL injection을 사용하여 DB에 접근해본다. 처음 문제 페이지로 돌아가서 쿠키 값을 확인해본다. 쿠키에 Time 항목이 있는 것을 확인할 수 있다. 다시 웹페이지의 소스를 확인해 보면 상단의 주석을 확인하면 시간이 적혀 있는 것을 알 수 있다. Blind SQL injection이 가능한지 확인하기 위하여 쿠키값에 참과 거짓인 구문을 넣어 확인해본다. 항상 참..

[현대 암호학] 07-4. 기타암호 - 동형 암호

4. 기타암호 - 동형 암호 동형 암호 versus 블록 체인 versus 양자 암호 [참고] 4세대 암호체계 - 동형암호 http://wiki.hash.kr/index.php/동형암호 보도자료 - 암호기술혁명 - 동형암호 - IMDARC - 서울대학교 http://imdarc.math.snu.ac.kr/board_apmJ27/3058 동형암호 개념 동형암호(Homomorphic Encryption) 암호화된 상태에서도 덧셈, 곱셈 등을 보존하여 머신러닝 및 딥러닝이 가능한 공개키 암호기술 "격자 기반 암호"의 한 종류이다. 격자기반 암호란 수학계에서 절대 답을 찾을 수 없다고 알려진 "격자 문자(Lattice Problem)를 응용한 암호를 말한다. 동형암호는 정보를 암호화한 상태에서 각종 연산을 했을..

현대 암호학 2021.06.29

[현대 암호학] 07-2. 강한 하이브리드 암호 시스템이란 / 3. 암호 기술의 조합

2. 강한 하이브리드 암호 시스템이란 의사 난수 생성기(Random Number Generater) 강한 하이브리드 암호 시스템이란? 하이브리드 암호 시스템의 구성요소 의사난수 생성기 => 세션키 대칭 암호 => 메세지 암호화 공개 키 암호 => 세션키 암호화 각각의 기술 요소의 강도 강도의 밸런스 의사 난수 생성기(PRNG) 세션 키 생성에 사용 품질이 나쁘면 만들어지는 세션 키를 공격자가 추측하게 될 위험성 세션 키 중 일부 비트라도 추측되지 않도록 주의 대칭 암호 메세지 암호화에 사용 강한 대칭 암호 알고리즘을 사용 => 대칭 암호 알고리즘(EX: AES) 충분히 길이가 긴 키 사용 => 키 길이 적절한 블록 암호 모드 사용 => 블록 암호 모드(EX: EAX) 공개키 암호 세션 키 암호화에 사용 ..

현대 암호학 2021.06.29