일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- seccomp
- vtable
- master canary
- DreamHack
- UAF
- tcache
- srop
- H4CKING GAME
- _IO_FILE Arbitrary Address Write
- Android
- _IO_FILE
- shellcode
- DFC 2022
- Reversing
- malware
- heap feng shui
- GOT overwrite
- heap
- BOF
- __environ
- heap exploit
- Dynamic Analysis
- _IO_FILE Arbitrary Address Read
- 나뭇잎 책
- Lazenca
- K-shield Junior
- RTL
- ROP
- HackCTF
- DFB
Archives
- Today
- Total
Studying Security
[HackCTF] pwnable: BOF_PIE 풀이 본문
728x90
반응형
Mitigation
Vulnerability Analysis
바이너리 파일 실행
- Hello, Do you know j0n9hyun?
- j0nhyun is 어떤 값
- 입력
- Nah...
2번 과정에서 hex값이 0x56555909인걸로 보아 PIE가 적용된 welcome의 주소라는 사실을 알 수 있음
3번 과정 scanf( "%s", [ebp-0x12] ) 입력 값 제한이 없다는 점을 이용하여 BOF를 일으켜야 할 듯 싶음
바이너리 파일에 flag를 출력하는 j0n9hyun이라는 함수가 존재
PIE가 걸려 있지만 2번과정에서 얻은 welcome의 offset과 j0n9hyun의 offset을 이용하여 j0n9hyun주소 획득 가능
Code base = welcome - welcome_offset
j0n9hyun = Code base + j0n9hyun_offset
구한 j0n9hyun주소를 가지고 ret영역을 overwrite해 flag를 얻자
Exploit code
Result
반응형
'Wargame > HackCTF' 카테고리의 다른 글
[HackCTF] pwnable: RTL_World 풀이 (0) | 2022.04.09 |
---|---|
[HackCTF] pwnable: Yes or no 풀이 (0) | 2022.04.09 |
[HackCTF] pwnable: Offset 풀이 (0) | 2022.04.08 |
[HackCTF] pwnable: Simple_Overflow_ver_2 풀이 (0) | 2022.04.08 |
[HackCTF] pwnable: x64 Simple_size_BOF 풀이 (0) | 2022.04.08 |
Comments