전체 384

POXX 2021 - pepero day Write-up

2021년 Power of XX에서 제작했던 pepero day의 write-up입니다. 처음 화면입니다. 양 쪽에 있는 빼빼로를 클릭하면 힌트를 얻을 수 있습니다. [힌트] Today is Pepero Day! input에 넣을 값에 대한 힌트였습니다. input에 빼뺴로 데이의 날짜인 11/11을 입력하면 base64로 인코딩 된 문자열이 나오게 됩니다. base64로 인코딩 된 문자열 : cDFlMVBlUjVEYTI= *잘못된 값을 입력하면 다음 문구를 띄웁니다. base64 디코더에 해당 문구를 넣어보겠습니다. 그럼 아래와 같은 문자열이 나오게 됩니다. p1e1PeR5Da2 이 문자열을 다시 input에 넣어 보겠습니다. 플래그가 출력됩니다. POX{P4p4r0_1n_Th9_W0RLD}

POXX 2021 - Find admin's Password Write-up

2021년 Power of XX에서 제작했던 Find admin's Password 문제의 Write-up입니다. 문제 설명 admin의 비밀번호를 찾아보세요! Find admin's Password는 admin 계정의 비밀번호를 찾는 Blind SQL 문제입니다. 처음 화면입니다. id와 pw에 guest/guest를 입력하면 hello guest를 띄웁니다. SQL 인젝션을 시도하기 위해 참인 쿼리를 보내면 특수문자 몇 개가 필터링되어 있다는 것을 알 수 있습니다. 필터링 되는 문자를 입력하면 filtering이라는 문구를 띄웁니다. 필터링 되는 문자는 소스 코드에 힌트로 나와있습니다. 이제 필터링되는 문자를 우회해서 admin의 패스워드를 알아내기 위해 blind sql 인젝션을 시도하시면 됩니다...

리눅스 쉘 구현 참고

redirect 구현 https://sosal.kr/1114?category=227313 일반 실행, 후면 실행, 순차실행, 리다이렉션 구현 https://mhwan.tistory.com/42 https://github.com/mhwan/Myshell/tree/master/myshells/source 파이프, 리다이렉션 https://pracon.tistory.com/121 그 외 쉘 구현 https://github.com/Reevid/shell/blob/master/shell.c https://stackoverflow.com/questions/39341331/linux-shell-implementation-in-c-redirected-file-includes-the-prompt https://gist...

리눅스(Linux) 2022.05.25

[Python] 리스트 선언, 삽입, 제거, 조회

리스트 선언, 요소 삽입, 요소 제거, 빈 리스트 확인, 값 조회, 인덱스 찾기 리스트 자료형 - 점프 투 파이썬 - 리스트에 대해 자세하게 정리가 잘 되어있음. 리스트 선언 코딩 도장 10.1 리스트 만들기 #빈 리스트 선언 >>> list1 = [] >>> list1 [] #리스트에 값 저장 : 여러 가지 자료형 저장 가능 >>> list2 = [1, 2, 'name', 12.3, True] >>> list2 [1, 2, 'name', 12.3, True] #리스트 안에 리스트를 내장할 수 있다. >>> list3 = [1, 2, 3, ['hello', 'hi']] >>> list3 [1, 2, 3, ['hello', 'hi']] #이 경우 마지막 원소는 리스트가 출력됨. >>> list3[3] ['..

Python 2022.05.19

파일시스템 기초

파일시스템 저장장치 구조 - 주기억장치 - 가상기억장치 - 보조기억장치 파일시스템 구조 파일시스템 유형 - FAT - NTFS - EXT 이미지 파일 통합 분석 도구 장단점 조사 - FTK Imgaer - Encase - Forensic Explorer 디스크 포렌식에 필요한 파일시스템 기초 지식 포렌식 입문 때 조사한거라 오류 있을 수 있음. 파일시스템 컴퓨터에서 파일이나 자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제 하드디스크나 CD-ROM 같은 실제 자료 보관 장치를 사용해 파일의 물리적 소재를 관리하는 것 파일과 그 안에 든 자료를 저장하고 찾기 쉽도록 유지, 관리하는 방법 저장장치 구조 주기억장치 (Main Memory) 프로세스가 올라가는 공간 RAM과 같은 의미로 사용 프로..

Digital Forensics 2022.05.09

[C] SWEA 1974 스도쿠 검증

9X9 크기의 스도쿠 퍼즐이 주어졌을 때, 1부터 9까지의 숫자가 겹치지 않으면 1 출력, 그렇지 않으면 0 출력 스도쿠 가로줄, 세로줄, 3X3격자에서 1부터 9까지의 숫자가 겹치지 않고 들어가야 한다. [제약 사항] 1. 퍼즐은 모두 숫자로 채워진 상태로 주어짐 2. 입력으로 주어지는 퍼즐의 모든 숫자는 1이상 9이하의 정수 9개의 숫자가 다 들어가는지 일일히 확인하는 방식으로 풀었다. ck라는 이름의 9칸짜리 배열을 하나 만들어 인덱스를 증가시켜 1이 아니면 flag가 0이 되도록 만들었다. 가로줄, 세로줄은 한번에 한줄씩 검사하는 게 간단했는데 격자를 확인하는 방법이 어려웠다. 격자가 9개인데 반복문을 9개 만들면 너무 코드가 길어져서 세로로 3개씩 처리하기로 했다. 가로로 숫자 3개씩, 세로로 ..

SWEA/[D2] 2022.03.06

[C] SWEA 1936 1대1 가위바위보

A와 B가 가위바위보를 하였다. 가위는 1, 바위는 2, 보는 3으로 표현되며 A와 B가 무엇을 냈는지 입력으로 주어진다. A와 B중에 누가 이겼는지 판별해보자. 단, 비기는 경우는 없다. #include int main(void){ int a, b; scanf("%d%d", &a, &b); if(b-a==1||b-a==-2){ printf("B\n"); return 0; } printf("A\n"); return 0; } 가위 < 바위 < 보 에서 B가 이기는 경우를 생각해보면 바위-가위 = 1, 보-바위 = 1, 가위-보 = -2 다. 이 경우를 제외하고는 A가 이긴다고 출력하면 된다.

SWEA/[D1] 2022.03.02