본문 바로가기
728x90

dreamhack26

[H4CKING GAME] Calculator 풀이문제 사이트에 들어가 보았더니 이런 화면이 나왔다.간단한 식을 입력하고 제출하면 출력 결과가 나온다. 'test.class.mro[0]'을 입력하여 템플릿 엔진이 Jinja2임을 확인했음.그 다음 'test.class.mro[1].subclasses()'를 통해 모든 서브클래스를 나열하고,해당 리스트에서 213번째 인덱스에 있는 'Popen' 클래스를 찾아냈다.이를 이용해 시스템 명령어를 실행하여 서버의 파일 목록을 확인하고(ls),'flag' 파일을 발견하여 그 내용을 출력('cat flag' 명령어)하여 플래그를 획득하였다. 2024. 11. 19.
[Dreamhack] cmd_center (LEVEL 1) DescriptionIP를 확인할 필요가 없습니다! 혹시 다른 명령어는 못쓰나요?다른 명령어를 사용했다면 플래그를 획득하세요! 풀이step 1. 문제 서버 접속일단 nc로 서버에 접속해보았다.center name을 입력하라고 나오는데,,뭐라고 입력을 해야할지 모르겠어서 코드를 확인해봤다.    printf("Center name: ");    read(0, center_name, 100);이 구간에서 사용자가 입력할 때 아무런 보호 장치가 없는걸로 보아 버퍼 오버플로우가 일어날거 같아서, offset을 계산해 cmd_ip값을 조작하면 플래그를 얻을 수 있을거 같았다. rbp-0x130 = center_name rbp-0x110 = cmd_ip 이렇게 값을 찾았고, 0x20만큼 차이가 나는 것을 확인했다... 2024. 5. 7.
[Dreamhack] simple-ssti (LEVEL 1) Description존재하지 않는 페이지 방문시 404 에러를 출력하는 서비스입니다.SSTI 취약점을 이용해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다. 풀이step 1. 문제 서버 접속들어가봤더니, 이렇게 나왔다. 문제 설명에 나와있던 것처럼 404Error페이지를 통해 FLAG를 찾을 수 있을 것 같았다.404Error페이지와 밑에 robots.txt 각각 들어가봤더니  이렇게 not found 밑에 url이 동일하게 써져있는 것을 확인했다.이걸 활용하면 FLAG를 찾을 수 있을 것 같아, 코드도 한번 살펴보았더니 config를 넣으면 모든 설정들을 볼 수 있는 것을 확인했다!그래서,, url에 {{config}}를 넣어 전송했더니, flag를 얻었다. 2024. 5. 7.
[Dreamhack] rev-basic-1 (Beginner) Description 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출력하는 입력값을 알아내세요. 획득한 입력값은 DH{} 포맷에 넣어서 인증해주세요. 예시) 입력 값이 Apple_Banana일 경우 flag는 DH{Apple_Banana} 풀이 step 1. 파일을 다운로드받아 디버거에 넣어 보았다. 디버거 연 김에 0,1번 문제를 이어서 풀었다. 디버거에 넣고 문자열 참조 찾기 기능에 들어가보았더니 "Input : "이라는 문자열이 있었다. 클릭해서 들어가 보았다. 쭉 읽어보니, Correct 출력 전, call 함수에 들어가보면 플래그를 얻을 수 있을 것 같아 들어갔.. 2024. 4. 2.
[Dreamhack] rev-basic-0 (Beginner) Description 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출력하는 입력값을 찾으세요! 획득한 입력값은 DH{} 포맷에 넣어서 인증해주세요. 예시) 입력 값이 Apple_Banana일 경우 flag는 DH{Apple_Banana} 풀이 step 1. 파일을 다운로드받아 디버거에 넣어 보았다. 문제 설명에서 correct을 출력하는 입력값을 찾으라고 하였으니, 문자열 참조 찾기 기능을 사용하여 검색해보았다. step 2. correct 검색 검색을 하였더니 바로 나왔다. 해당 위치로 넘어가서 코드를 쭉 살펴보았다. FLAG인거 같은 문자열을 발견하였다. 플래그 찾기.. 2024. 4. 2.
[Dreamhack] phpreg (Beginner) Description php로 작성된 페이지입니다. 알맞은 Nickname과 Password를 입력하면 Step 2로 넘어갈 수 있습니다. Step 2에서 system() 함수를 이용하여 플래그를 획득하세요. 플래그는 ../dream/flag.txt에 위치합니다. 플래그의 형식은 DH{...} 입니다. 풀이 step 1. 접속 정보 사이트로 접속 & 파일 다운로드 후 확인 오.. 뭔가 게임처럼 스텝이 있고 풀어나가는 문제인 것 같다. 그렇다면 닉네임과 패스워드를 찾기 위해 php 파일에서 Nickname과 Password와 관련된 부분을 확인해 보면 될 것 같았다. if ($name === "dnyang0310" && $pw === "d4y0r50ng+1+13") { 오..근데 이렇게 입력해 보았더니.... 2024. 3. 27.
728x90