Tags: googlectf pwn pwnable google 

Rating:

### ADMIN UI 3 (pwn-re)

두 개의 패스워드를 통과하면 몇 가지 커맨드를 실행시켜주는 루틴으로 들어간다.

![](https://rls1004.github.io/img/google_adminui3_shell.JPG)

![](https://rls1004.github.io/img/google_adminui3_system.JPG)

quit, version, shell, echo, debug 명령어를 사용할 수 있는데, 이 중에서 shell 명령어를 입력했을 때 shell_enabled 가 1이면 debug_shell()을 호출하고, debug_shell() 에서는 system("/bin/sh") 를 호출한다.

![](https://rls1004.github.io/img/google_adminui3.JPG)

![](https://rls1004.github.io/img/google_adminui3_.JPG)

명령어를 입력받을 때 길이 검사를 하지 않아 `BOF` 취약점이 발생하기 때문에 debug_shell() 함수의 주소를 스프레이해서 return address 를 덮으면 쉘을 획득할 수 있다.

```
Unknown command ''BAA'
> $ quit
Bye!
$ ls
an0th3r_fl44444g_yo
flag
main
patchnotes
$ cat an0th3r_fl44444g_yo
CTF{c0d3ExEc?W411_pL4y3d}
```

**CTF{c0d3ExEc?W411_pL4y3d}**

Original writeup (https://rls1004.github.io/2018-06-25-googlectf-writeup-beginners/).