v4를 통해 숫자를 입력받고 fakekey[v4] 배열처럼 생겼지만 아닌 변수에 캐릭터형을 입력받습니다.
처음 while조건을 빠져나가기 위해선 fakekey[0] 번째가 #이어야 합니다.
원래 10(0x23) 이었으나 %c로 받으므로 보기 쉽게 캐릭터형으로 바꿔주었습니다.
* fakekey[v4] 입력시 주의할 점: " %c" => 스페이스바
처음에 fakekey[0] 에 ' #'을 입력했을 때는 쉘로 들어가지 않고 root@kali 머무르고 있었습니다.(루트)
그 이유는 20번째 줄 조건문을 충족시키지 못했기 때문인데 key에 ILOVEPWN을 넣어주어야 했고,
17번째 줄부터 key[0] 번째부터 입력된다는 것을 알았습니다.
키는 char[] 입니다.
해당 변수에 들어가보니 fakekey보다 위에 key가 있었고 10 차이가 납니다.
16칸이라는 의미를 알게 되었고, 이는 -16부터 리틀엔디안 방식을 통해 입력됩니다.
그래서 문자열을 기입해 준 후 fakekey is에서 다시 루프를 돌지 않고 무사히 ' #' 을 입력하여 flag 값을 확인할 수 있었습니다.
'시스템 해킹' 카테고리의 다른 글
[Whois] 시스템 해킹 - Format String Bug (0) | 2021.12.08 |
---|---|
[Whois] 시스템해킹 - Integer Issues (0) | 2021.12.06 |
[Whois] 시스템해킹 - 버퍼오버플로우3 (0) | 2021.11.23 |
[Whois] 시스템해킹 - 버퍼오버플로우2 (0) | 2021.11.23 |
[Whois] 시스템해킹 - 버퍼오버플로우1 (0) | 2021.11.22 |