본문 바로가기

4-8. 2024-1 심화 스터디/워게임 도장 깨기

(5)
[5주차] 2024.05.03 - Pwnable War Game Write Up CTF Cite : https://play.picoctf.org 1. two-sum  Integer Overflow를 이용하여 flag를 찾는 문제이다.힌트 1) Integer Overflow힌트 2) Not necessarily a math problem nc 명령어를 이용하여 해당 사이트에 접속하며 두개의 정수를 입력하라고 한다.아무 숫자나 입력하며 No Overflow가 출력되며 종료된다. 주어진 코드 중 핵심이 되는 코드를 살펴보았을 떄 flag으로부터 문자열을 입력받아 배열 buf에 59길이만큼 저장하여 printf함수로 문자열이 출력되도록 한 후 fflush 함수로 출력 버퍼를 비우고 있다. int 데이터 최대값은 아래와 같다.32bit: 2,147,483,64764bit: 9,223,372,..
[4주차] 2024.04.05 - Web War Game Write Up CTF Cite : https://play.picoctf.org1. MatchTheRegex (100points)정규표현식*을 일치시켜 올바른 입력값을 찾아내는 문제이다.✅  특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식언어 메타문자와 수량자로 구성 웹사이트 접속) 문제 풀이) 웹사이트 접속 후 입력 창에 admin 입력 시도하였지만 실패하였다. 개발자도구(F12)를 사용하여 해당 페이지에 대한 코드를 확인해보았다.코드 중 주석처리된 ^p……F!?가 정규표현식이라는 예측을 해보았다.  🗨️ 다른 코드 분석)fetch(`/flag?input=${val}`)fetch 함수를 사용하여 /flag?input=${val} 의 값을 요청한다. const res_json = JSON.parse(re..
[3주차] 2024.03.29 - Pwnable War Game Write Up CTF Cite : https://play.picoctf.org 1. babygame01 WASD키로 움직이는 게임에서 FLAG를 획득하는 문제이다. 먼저, 게임에 접속해 [@]가 있는 곳까지 움직여보았다. "You win!"만 출력될 뿐, FLAG는 출력되지 않았다. 문제 힌트를 통해 시크릿 커맨드가 있는 것을 알 수 있었고, 이를 Ghidra를 이용하여 확인해보았다. 두번째 if문을 통해 [p]가 시크릿 커맨드인 것을 발견할 수 있었다. 게임을 다시 시작하고, [p]를 누르면 바로 [@]의 위치까지 이동해 "You win!"만 출력한다. 그 다음 IDA를 이용해 메모리와 코드를 분석해보았다. 변수 v6과 v7을 살펴보면 다음과 같다. v6 : var_A9C v7[2700] : var_A98 이를 통해..
[2주차] 2024.03.14 - Reversing War Game Write Up CTF Cite https://play.picoctf.org #문제 1. [Ready Gladiator 0] 문제 설명을 보면 항상 패배하는 전사를 만들어야 문제가 풀리는 것으로 예상된다. launch instance를 클릭하면 nc포트가 활성화되고 imp.red라는 파일을 다운받을 수 있다. imp.red는 Redcode라는 프로그래밍 언어로 작성되었다. 포트에 접속해보면 다음과 같이 100번 동점이 나온다. 100판 모두 지게 만들기 위해서 imp.red 파일을 확인했다. ;redcode ;name Imp Ex ;assert 1 mov 0, 1 end 여기서 mov 0,1을 삭제해 패배하게 만들 수 있다. ;redcode ;name Imp Ex ;assert 1 end 이렇게 imp.red 파일을 수..
[1주차] 2024.03.11 - Web War Game Write Up CTF Cite https://play.picoctf.org #관련 개념 정리 1. SQL Injection 1.1 정의 데이터 베이스와 연동된 웹에서 임의의 SQL 문을 주입하여 비정상적인 동작을 하도록 조작해서 정보를 알아내는 공격 기법 1.2 발생 원인 주로 입력한 데이터를 제대로 필터링하지 못했을 때 발생 1.3 관련 프로그램 (DB) MySQL, SQLite 등 1.4 일반적인 구문&구조 * 프로그램별 정보 가져 오는 방법 1.4.1 메타 데이터의 테이블; information_schema 1.4.2 테이블 정보; SELECT table_name FROM information_schema.tables 1.4.3 칼럼 정보; SELECT column_name FROM information_sche..