System
-
[Pwnkr] Unexploitable Write-up표튜터와 함께하는 Pwnable/Pwnable.kr Write-up 2019. 5. 17. 03:01
오랜만에 CTF를 풀었다.ㅎㅎ 앞서 SysROP와 RTC를풀었던 것이 도움이 되었던 것 같다. 풀이가 부족하다면 아래의 링크를 참조하자링크 : SysROP, RTC 처음으로 Pwnkr의 Toddler가 아닌 문제를 풀었다는게 기분이 좋다.이번 문제는 SysROP와 RTC 그리고 Rax gadget을맞춰주는 것이 관건인 문제이다. 우선 scp로 바이너리를 가져오자~~ 문제는 NX가 걸려있고 Partial RELRO이므로Stack, Heap 영역에 실행권한이 없고Got Overwrite가 가능하다. 문제를 실행시켜보면 간단하게 사용자로부터 입력을 받는 것이 전부이다. IDA로 확인해보니 sleep(3) 이후, read함수로 입력을 받고 있었다.buf에 넉넉하게 1295개를 입력 받고 있었다. 어셈블리어 코드..
-
[HackCTF] 1996 Write-up표튜터와 함께하는 Pwnable/HackCTF Write-up 2019. 4. 29. 11:08
이번 문제는 1996이다. 굉장히 쉬운 문제에 속하는 편이다. NX가 걸려있어서 스택, 힙, 데이터 영역에 실행권한이 없고Partial RELRO기 때문에 got overwrite가 가능하다. 문제를 실행시켜보았더니 그림과 같은 문자열이 출력되고사용자에게 입력을 받고 있었다. 문제는 또한 바이너리와 cpp 코드도 주어줬다.단순히 BOF로 충분히 풀 수 있는 문제같아 보였다.getenv 함수로 buf에 값을 입력하도록 되어있었는데역시 입력받는 길이를 확인하지 않기 때문에 BOF가 가능했고BOF를 통해 ret를 spawn_shell로 덮는다면 해당 함수가실행되면서 "/bin/bash"로 인해 쉘을 딸 수 있을 것이다. main함수에서의 getenv 함수 호출 전을 살펴보면rbp-0x410에 인자 buf가 존..