분류 전체보기(324)
-
[BOJ 20493] 세상은 하나의 손수건
https://www.acmicpc.net/problem/20493 20493번: 세상은 하나의 손수건 오래된 운동화를 신고, 시원한 공기와 투명한 하늘 아래 따뜻한 햇빛을 받으며 새로 마주하는 이 거리와 손잡고 걷는다. 복잡한 생각 없이 설레는 마음으로 걷다 보면 뛰고 싶고, 같이 달리다 보 www.acmicpc.net - 문제 요약 준원이가 방향을 바꾼 횟수 n, 걸어간 시간 t가, n개의 줄에 방향을 바꾼 시간, 방향이 주어진다. t초에 지정된 방향으로 한 칸씩 이동하고 방향은 왼쪽, 오른쪽 중 하나로만 바꿀 수 있다. 처음에 오른쪽 방향으로 갈 때 t초 후에 준원이의 위치 좌표를 구하시오. - 알고리즘 정리 Tast case 1, 2를 가져와서 시뮬레이션 해보며 정리하겠습니다. Tast case ..
2021.06.09 -
[BOJ 15886] 내 선물을 받아줘 2
https://www.acmicpc.net/problem/15886 15886번: 내 선물을 받아줘 2 욱제는 구사과의 열렬한 팬이다. 오늘 욱제는 구사과에게 선물()을 전달해주려고 한다. 지난 며칠간의 관찰 끝에 욱제는 구사과의 이동 패턴을 모두 파악했다. 구사과가 있는 곳은 1×N 크기의 직 www.acmicpc.net - 문제 요약 문자열의 길이 n, 길이 n인 문자열이 한 개 주어진다. 문자열은 E, W로 이루어져 있고, 이 문자열 위 어떤 부분에 선물을 놓았을 때 그걸 구사과가 가져가도록 해야 한다. 구사과는 문자열 위에서 움직일 수 있는데 E는 앞으로 한 칸, W는 뒤로 한 칸 가는 것을 의미한다. 시작 위치에 상관 없이 최소 몇 개의 칸 위에 선물을 놓아야 구사과가 선물을 가져갈 수 있는가?..
2021.06.08 -
broken-png 풀이
이미지를 보자마자 저렇게 보이는 FLAG 글자 외에도 다른 글자들이 아래쪽에 숨어있을 거라 생각했습니다. HxD를 사용하여 PNG 파일의 세로 크기를 늘려보는 식으로 풀어보겠습니다. PNG 파일의 헤더 구조 그림에서 이미지 세로 크기 부분은 0x10에 04~07까지라고 나와있습니다. 그러므로 위 HxD 화면에 띄운 PNG 이미지의 세로 크기는 00 00 01 00이 될 것입니다. 00 00 01 00을 00 00 10 00으로 바꿔서 PNG로 저장하고 파일을 실행해보겠습니다. 그러면 이렇게 숨어있던 FLAG가 나오게 됩니다. (사실 파일 크기는 00 00 03 00 정도로 해도 충분했을 것 같은데 생각 없이 하다 보니 10으로 해버렸습니다) Dreamhack에 있는 문제들 중 유일한 misc 문제라 한 ..
2021.06.03 -
ELF 파일 구조
- ELF 파일 실행 가능한 바이너리, 오브젝트 파일의 형식을 규정한 파일. 여기서 ELF는 Executable and Linkable Format의 약자입니다. (실행, 링킹이 가능한 포멧) ELF 파일은 ELF 헤더, 프로그램 헤더 테이블, 섹션 헤더 테이블로 이루어져있습니다. ELF 헤더는 ELF 파일의 구성을 나타내는 부분입니다. 파일의 가장 첫 부분을 차지하며, 파일의 특성을 알 수 있는 아주 중요한 부분입니다. 프로그램 헤더 테이블은 ELF 안의 *세그먼트들에 대한 정보들로 * 런타임 중에 사용될 메모리 정보 프로세스 이미지를 어떻게 구현해야 할지 나와있는 부분입니다. *섹션 헤더 테이블은 ELF 안에 있는 섹션들에 대한 정보들을 모아둔 부분입니다. * 실행 파일의 정보가 담긴 공간 - ELF..
2021.06.02 -
리버싱 실전 | 워게임 풀이 - Ubuntu Linux
- main 파일 분석 (반복문 전) 우선 main 파일 분석이 우선일 것 같아 메모장에 적어가며 분석했습니다. s : 사용자가 입력한 문자열이 들어가는 string형 변수 0x555555755080 dest : s가 복사될 변수 0x5555557550c0 n : s의 길이가 담겨있는 변수 a : rbp-4 b : rbp-8 c : rip+0x2076c d : rip+0x2007dd 1. read 0, s, 0x31가 인자로 들어간 상태에서 입력을 받습니다. +) read 함수는 자세하게 분석 하지 않아도 될 것 같아서 딱 여기까지만 하고 끝냈습니다 2. strlen 사용자가 입력한 s라는 문자열의 길이를 반환합니다. +) 이것 역시 이정도 정의만 생각해놓고 생략 3. strcpy strcpy에 dest..
2021.05.31 -
pathtraversal 풀이
코드를 보면 Flag is here!!이라는 주석이 붙어있는 부분이 있습니다. 파일의 이름이 flag.txt 라는 정보를 얻었습니다. 또한, 문제에서는 "api/flag에 있는 플래그를 획득하세요!"라고 했으니 URL에서 맨 뒷부분을 ../flag로 바꿔줘야 플래그를 찾을 수 있을 겁니다. 우선 guest, admin, ../flag로 입력을 했을 때 각각 어떤 결과가 나오는지 보겠습니다. 이 웹사이트의 동작 구조는 위처럼 3개로 나뉜다 볼 수 있을 것 같습니다. 그리고 ../flag가 아니라 다른 입력값을 입력 해도 똑같이 undefined로 출력이 나왔습니다. 아무래도 admin이랑 guest 외에는 전부 undefined로 출력하라고 코딩이 되어있는 것 같습니다. 딱 여기까지 알아내고 5분 정도 별..
2021.05.29