문제 설명
Simple pwnable 101 challenge
Q. What is Return Address?
Q. Explain that why BOF is dangerous.
bof : buffer over flow

일단 실행해 보면 name을 입력받는다.
그리고 주소랑 값을 출력하고, hex value와 count 값을 입력받는다.
hex value에서 입력받은대로 count 수만큼 값이 바뀌는 것을 확인할 수 있다.
문제 코드

win 함수: flag 값 출력

메인함수
38번째 줄: win 함수 주소 출력 + main 함수에서는 win 함수를 호출하지 않는다는 문구 출력. -> 이전에 출력된 거 생각하면 win 함수 주소=0x40125b인 것을 알 수 있음.
41번째 줄: 16바이트짜리 name 변수에 입력받음.
35~48번째 줄: name을 문자열로 입력받고 16진수로 변환해서 출력, +8씩 주소 조정되는 것을 확인할 수 있음.
50~54번째 줄: scanf로 각각 값 2개씩 입력받는데 대응하는 변수가 하나밖에 없음. (%lx %c인데 &value만 대응..)
57~59번째 줄: 입력받은 value 값으로 덮어씀.
62~65번째 줄: 덮어쓴 값 출력.

main 함수의 위치를 모르지만 win 함수의 주소를 아니까 해당 주소로 전부 덮어버리면 플래그가 나온다.
개인 공부 목적으로 작성된 글이며, 틀린 정보나 해석이 있을 수 있음.
https://dreamhack.io/wargame/challenges/974
baby-bof
DescriptionSimple pwnable 101 challengeQ. What is Return Address?Q. Explain that why BOF is dangerous.
dreamhack.io
'소학회 > 워게임' 카테고리의 다른 글
| [reversing]Dreamhack_simple-operation (0) | 2026.01.13 |
|---|---|
| [misc]Dreamhack_Exercise: SSH (0) | 2025.11.04 |
| [web]Dreamhack_session (0) | 2025.09.23 |
| [reversing]H4CKING GAME_Season1 : Keygen (0) | 2025.05.13 |
| [reversing]Dreamhack_rev-basic-0 (0) | 2025.03.31 |