일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- webhacking
- Whois #AjouUniv #정보보안교육 #Pwnable
- 사이버보안학과
- Dreamhack
- N0NamedWargame #mandu-mandu #forensics #left_side_B
- Memory Virtualization
- Whois #정보보안교육 #Ajou
- ftz
- python
- AjouUniv #SuniNatas #Web
- 아주대학교 #Whois #정보보안교육 #4주차
- HackCTF
- 운영체제
- N0Named
- systemhacking
- N0NamedWargame #mandu-mandu #forensics #길에서주어온만두
- 코딩도장
- Whois #정보보안교육 #AjouUniv #Pwnable
- Allocation Starategy
- hackerschool
- N0NamedWargame #AjouUniv #mandu-mandu #forensics
- AjouUniv #Whois #Reversing
- Whois #정보보안교육 #webhacking.kr
- 스케줄링
- AjouUniv #Whois #정보보안교육 #Pwnable
- Pwnable
- SuNiNaTaS #mandu-mandu #AjouUniv #forensics
- AjouUniv #Whois #정보보안교육
- 아주대학교
- Variable Partition
- Today
- Total
chipkkang9's story
[HackCTF] Basic_BOF #1 문제 풀이 본문
준비물
IDA Pro 7.0, Linux 작업환경 (본인은 kali linux를 사용함)
IDA Pro – Hex Rays
Substantial changes Is to be expected in every release: new features, supported processors, etc which are all added after deliberation and discussion.
hex-rays.com
문제소개
문제 풀이
문제를 보면 bof_basic이라는 binary파일이 주어져 있다.
해당 파일은 64bit가 아닌, 32bit의 파일이므로
IDA 32로 열어주었다.
IDA로 bof_basic 파일을 열어준 화면이다.
main함수 외에는 특이한 함수도 존재하지 않은 것 같다.아무래도 basic 문제이기 때문에 그런 것 같다.
처음부터 파일을 해석해보자.
char형 변수 s가 총 40byte(2Ch - 4h)의 크기로 선언되어있다.
직후, int형 변수 v5가 마찬가지로 선언되어있다. 아마도 4byte의 크기로 예상된다.
그 후에 printf문으로 s의 버퍼를 출력해주고,v5의 주소값 또한 출력해주고 있다.
다음으로 if문을 통해 v5의 값이 67305985나, -559038737이 모두 아니라면, "잘하고 있어요!"라고 출력한다.
하지만, 핵심 코드인 다음 문장은v5의 값이 -559038737일 경우에 /bin/dash 를 실행하는 코드로 해석된다.
그렇다면 우리는 BOF 기법으로 s를 쓰레기 값으로 덮어주고,
v5를 -559038737 즉, HEX값으로 0xDEADBEEF값으로 덮으면 풀 수 있을 것이다.
이렇게 하도록 해보자.
페이로드를 짜준 결과는 다음과 같다.
그리고 이를 실행시켜주면,
이처럼 제대로 쉘이 따져서 flag가 출력되는 것을 확인할 수 있다.
'CTF > Pwnable' 카테고리의 다른 글
[HackCTF] Basic_BOF #2 문제 풀이 (0) | 2021.12.28 |
---|---|
[Whois 정보보안교육] Part-time Job 문제풀이 (0) | 2021.12.06 |
[Whois 정보보안교육] canacode 문제풀이 (0) | 2021.11.29 |
[Whois 정보보안교육] assemlator 문제풀이 (0) | 2021.11.29 |
[Whois 정보보안교육] passcode 문제풀이 (0) | 2021.11.29 |