[Dreamhack] "bof" 문제풀이
일단 소스코드가 하나도 안 보이기 때문에 디컴파일을 해야함. ida로 할 수 있음

main함수인데, 사실 144바이트를 입력받는다는거 말곤 잘 모르겠음. c코드로 보자

f5를 하면 c코드가 보임
v4를 128바이트만큼만 입력받는다는데, 아래에선 144바이트까지 입력받을 수 있게 둬버림.
-> a를 128번 하고 뒤는 flag가 있는 주소를 붙여넣기 하면 될 것 같음.

[Dreamhack] devtools-sources

문제 파일 다운 받아서 압축 풀어주면

이런 파일들이 나옴
about.html 들어가서
개발자 도구 Sources 탭에서 dh를 검색해 봤더니 플래그가 나와 있음

[Dreamhack] Base64 based
문제 설명



index.php를 확인해보니 파일을 get으로 받아서 ../과 flag.php를 base64 인코딩 형태로 필터링 하는 것을 알 수 있었음.
문제 파일 중 hello.php가 있어 get방식으로 URL 뒤쪽에 추가해본 결과 :



이를 통해 php를 넘겨주면 안의 내용을 출력해준다는 것을 알았고, 두 번째 시도에서 index.php의 파일 파라미터에 hello.php를 base64 인코딩한 형태로 넣어줘도 hello.php가 출력됨을 확인
→ index.php?file=인코딩된 파일 의 형식으로 넘겨줘야 함
index.php?file=ZmxhZy5waHA= 와 같이 flag.php로 넘겨주면 필터링에 걸려서 출력되지 x
stripos(대상 문자열, 조건 문자열, 검색 위치)
- 대상 문자열을 앞에서부터 검색하여 조건 문자열의 위치를 반환하는 함수
- 조건 문자열이 발견되지 않으면 false를 반환.
- 대소문자 구별 x
조건 문자열을 검색하여 필터링 하는데, 사이에 다른 값을 넣어주면 될 것 같아 인코딩된 문자에 공백을 의미하는 %20을 문자 사이에 추가하여 플래그를 획득함.

'4-1. 2025-2 심화 스터디 > 워게임 도장 깨기' 카테고리의 다른 글
| [5주차] 25.11.22 워게임 도장 깨기 (0) | 2025.11.27 |
|---|---|
| [2주차] 25.10.04 워게임 도장 깨기 (0) | 2025.11.15 |
| [4주차] 25.11.15 워게임 도장 깨기 (0) | 2025.11.15 |
| [3주차] 25.11.8 워게임 도장 깨기 (0) | 2025.11.14 |