본문 바로가기

CTF42

[CodeEngn] Basic RCE L04 보호되어 있는 글 입니다. 2024. 5. 31.
[CodeEngn] Basic RCE L03 보호되어 있는 글 입니다. 2024. 5. 25.
[CodeEngn] Basic RCE L02 보호되어 있는 글 입니다. 2024. 5. 25.
[CodeEngn] Basic RCE L01 보호되어 있는 글 입니다. 2024. 5. 19.
[Dreamhack] rev-basic-9 https://dreamhack.io/wargame/challenges/23 rev-basic-9Reversing Basic Challenge #9 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io Input 문자열이 있는 main 함수로 이동한 후에 사용자의 입력 값을 비교하는 chall9.7FF76D511000 으로 이동했다.  코드 분석 결과 I_am_KEY를 키로 해서 스택에 있는 문자열과사용자가 입력한 문자열을 비교하는 것 같다.이 문제도 역연산으로 풀 수 있을 것 같다. table = [0x63, 0x7C, 0x77, 0x7B, 0xF2, .. 2024. 5. 12.
[Dreamhack] rev-basic-8 https://dreamhack.io/wargame/challenges/22/ rev-basic-8Reversing Basic Challenge #8 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io  Input 문자열이 있는 곳으로 이동한 후에 사용자의 입력 값을 비교하는  chall8.7FF6F0B11000 으로 이동했다.  따라서 이 함수는[7FF6F0B11000] 주소에 저장된 21개의 값과사용자 입력 값의 연산을 한 값을 비교하는 함수이다.  [7FF6F0B11000] 주소에 저장된 값들은 이와 같다.이 함수는 역연산이 힘드므로키보드로 입력할.. 2024. 5. 11.
[Dreamhack] rev-basic-6 https://dreamhack.io/wargame/challenges/20 rev-basic-6Reversing Basic Challenge #6 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io  cmd 창에서 파일을 실행해보면 input 값을 입력하라고 하고,잘못된 값을 입력하면 Wrong이라는 메시지가 출력된다.  Input 문자열이 있는 곳으로 이동한 후에 사용자의 입력 값을 비교하는 chall6.7FF7543F1210으로 이동했다.  movsxd rax, dword ptr ss:[rsp] cmp rax, 12rax에 인덱스 길이가 18이 될.. 2024. 4. 28.
[Dreamhack] rev-basic-5 https://dreamhack.io/wargame/challenges/19 rev-basic-5Reversing Basic Challenge #5 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io  cmd 창에서 파일을 실행해보면 input 값을 입력하라고 하고,잘못된 값을 입력하면 Wrong이라는 메시지가 출력된다.  문자열 찾기 기능을 이용해서 Input 문자열이 있는 주소로 이동했다.  이동한 곳을 확인해봤다.사용자의 입력 값을 chall5.7FF79EAF1000 함수에서 비교한 뒤에비교 결과에 따라  Correct나 wrong을 출력한다. 해.. 2024. 4. 28.
[Dreamhack] Reversing Basic Challenge #4 https://dreamhack.io/wargame/challenges/18/ rev-basic-4Reversing Basic Challenge #4 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io 바이너리를 분석해서 correct를 출력하는 입력값을 알아내는 문제이다.  문제 파일을 실행해보면 rev-basic-3처럼 Input 입력을 받고틀린 값을 입력하면 Wrong을 출력한다. Correct를 출력해내기 위해서 문제 파일을 x64dbg로 열어봤다.  [마우스 우클릭 > 다음을 찾기 > 모든 모듈 > 문자열 참조]문자열 참조를 통해 Correct.. 2024. 4. 10.
[Dreamhack] Reversing Basic Challenge #3 https://dreamhack.io/wargame/challenges/17 rev-basic-3Reversing Basic Challenge #3 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io 바이너리를 분석하여 correct를 출력하도록 리버싱 해야 되는 문제이다.  문제 파일을 실행해보면 입력 창이 뜬다.아무 값이나 입력을 해보면 Wrong이라고 한다.Correct를 출력해내기 위해서 문제 파일을 x64dbg로 열어봤다.   [마우스 우클릭 > 다음을 찾기 > 모든 모듈 > 문자열 참조] 문자열 참조를 통해 Correct 문자열을 찾았다.  .. 2024. 4. 6.
[Dreamhack] Reversing Basic Challenge #2 https://dreamhack.io/wargame/challenges/16 rev-basic-2Reversing Basic Challenge #2 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io 올바른 입력 값을 검증하는 프로그램을 리버싱 해야 한다. 문제 파일을 실행해보면 입력 창이 뜨고, 아무 값이나 입력이 가능하지만올바른 입력 값이 아닌 것을 입력하고 Enter를 클릭하면 창이 종료된다.  x64dbg에서 [마우스 우클릭 > 다음을 찾기 > 모든 모듈 > 문자열 참조]를 통해 이 exe 파일에서 사용하는 모든 문자열을 확인해봤다. Input,.. 2024. 3. 30.
[Dreamhack] CSRF Advanced https://dreamhack.io/wargame/challenges/442 CSRF AdvancedDescription Exercise: CSRF Advanced에서 실습하는 문제입니다. 문제 수정 내역 2023.08.08 Dockerfile 제공dreamhack.io CSRF 취약점을 이용하는 문제이다.  가상머신에 접속하면 네 종류의 페이지가 있다.please login을 보면 로그인을 하라는 건가 싶다.  문제 코드를 살펴보면guest로 로그인할 수 있고, admin으로 로그인하면 플래그를 얻을 수 있는 것 같다.  우선 guest 계정으로 로그인 했다.  login()에서 로그인이 성공했을  때, 세션과 csrf 토큰을 얻을 수 잇는 것을 알 수 있다.usernaem+addr의 값을 md5 연.. 2023. 11. 22.
[Dreamhack] csrf-1 https://dreamhack.io/wargame/challenges/26 csrf-1 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. 문제 수정 내역 2023.07.18 css, html 제공 및 read_url() 코드 일부가 변경되었습니다. Referen dreamhack.io CSRF 취약점을 이용해서 플래그를 획득해야 되는 문제이다. CSRF(Cross Site Request Forgery) 취약점이란 임의의 사용자 권한으로 임의의 주소에 HTTP 요청을 하는 취약점을 의미한다. 가상머신에 접속해보면 네 종류의 페이지가 있다. 코드를 보면 usrerid가 admin인 상태로 127.0.0.1에 접속하게 하면 플래그를 얻을 수 있을.. 2023. 11. 22.
[Dreamhack] set-int https://dreamhack.io/wargame/challenges/958 set-int Description 주어진 바이너리와 소스 코드를 분석하고 알맞은 입력값을 찾아 쉘을 획득하세요! 플래그는 flag 파일에 있습니다. 플래그의 형식은 DH{...} 입니다. dreamhack.io 바이너리와 소스코드를 분석해서 입력 값을 찾아 쉘을 획득해야 되는 문제이다. 우분투에서 가상머신에 접속했다. //Name: chall.c //Compile: gcc chall.c -o chall -no-pie -fno-stack-protector #include #include #include #include #include // 시간 초과 시 호출되는 함수 void alarm_handler() { puts("TIME.. 2023. 11. 15.
[Dreamhack] csrf-2 https://dreamhack.io/wargame/challenges/269 csrf-2 여러 기능과 입력받은 URL을 확인하는 봇이 구현된 서비스입니다. CSRF 취약점을 이용해 플래그를 획득하세요. 문제 수정 내역 2023.07.18 css, html 제공 및 read_url() 코드 일부가 변경되었습니다. Referen dreamhack.io CSRF 취약점을 이용하여 플래그를 획득해야 되는 문제이다. 가상머신 접속 화면은 이와 같다. 코드를 보면 pw에 내가 원하는 비밀번호를 넣어서 바꿔주면 로그인이 가능할 것 같다. 이를 위해 flag에 를 넣어줬다. admin/admin으로 로그인하면 플래그가 출력된다! 참고 https://ascrim9.tistory.com/20 2023. 11. 15.