Tags: googlectf pwn pwnable google 

Rating:

### ADMIN UI 2 (pwn-re)

2번 메뉴 선택 후, `"../../../proc/self/cmdline"` 을 입력하면 "./main" 을 확인할 수 있다. 이게 실행 파일 이름이다.

다시 2번 메뉴 선택 후, "../main" 을 입력하면 실행 파일을 추출할 수 있다.

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

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

분석해보면 1번 메뉴 선택시 입력해야 하는 첫 번째 패스워드는 ADMIN UI 에서 읽었던 flag 값이고, 두 번째 패스워드는 길이가 35인 값 아무거나 통과된다.
하지만 플래그를 알아야되므로 좀 더 살펴보면, FLAG 라는 전역 변수에 35개의 값이 있고, 0xC7 이랑 xor 하는 루틴이 보인다.

> FLAG = [0x84, 0x93, 0x81, 0xbc, 0x93, 0xb0, 0xa8, 0x98, 0x97, 0xa6, 0xb4, 0x94, 0xb0, 0xa8, 0xb5, 0x83, 0xbd, 0x98, 0x85, 0xa2, 0xb3, 0xb3, 0xa2, 0xb5, 0x98, 0xb3, 0xaf, 0xf3, 0xa9, 0x98, 0xf6, 0x98, 0xac, 0xf8, 0xba]

xor 연산을 해보면
**CTF{Two_PasSworDz_Better_th4n_1_k?}**

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