본문으로 바로가기

Exploit Exercises Protostar Stack~Net Write Up

category 해킹/Write Up 2017. 1. 27. 00:09

https://exploit-exercises.com/protostar/ 문제

https://github.com/LYoungJoo/exploit-exersice-writeup/blob/master/protostar/ 작성한라업



Review

처음에 심심해서 stack문제를 풀어보다가 너무 잘풀려서 올클 해보자는 생각으로 풀게되었다.

그리고 sh쉘이 너무 답답해서 첫문제 풀때부터 bash쉘을 이용해서 풀었다. 후에 알게되었는데 bash와 sh에서 함수주소라던가 할당되는 주소값들이 조금 바뀌어서 출제자의 의도와 맞지않게 푼 문제가 있는거같다. (stack7) 어쨋거나 모든문제는 bash쉘을 이용해 풀었다.

stack문제는 lob를 풀어봐서 그런지 정말 쉬웠고, fsb는 포맷스트링버그에 익숙하지않아서 약간 힘들었다. 하지만 푸는 시간만 조금 늘어날뿐 문제수준이 그렇게 어렵지않아서 재미있게 풀었다. 그리고 가장 어려웠던 heap.. heap에 대한 지식이 좀 정리가안됬고 malloc원리나 free의 원리 그리고 bin들과 unlink.. 막힌문제가 heap3에서 막혔는데 하루종일 붙잡고 힘들게 풀었다. 방학이라서 가능했던것 같다..

덕분에 heap관련 문서도 엄청읽었고 heap을 이해하는데 많은 도움이 되었다. 하지만 glibc 하위버전이라 실제 ctf에서 얼마나 도움이 될지는 잘 모르겠다. 그리고 외국에서 heap3에 대한 여러가지 payload가 있었다. 이것을 보고 종류별로 정리한뒤 하나씩 해보면서 왜 이렇게되나 계속계속하다가 이해하게 됬다. 가상머신에 peda_gdb가 깔리면 좋을텐데 바이너리를 빼서 분석하긴했지만 좀 아쉬웠다..

heap3빼고 나머지문제는 쉽게 풀 수 있었다.


https://github.com/LYoungJoo/exploit-exersice-writeup/blob/master/protostar/

문제를 풀면서 풀었을때마다 틈틈히 올렸다. 앞으로 깃허브에 내가 직접짠 payload로 많은 라업을 등록해야겠다.


protostar에 final문제는 안풀었는데 그 이유는 리눅스도 낮은버전이고 final 0만 풀어보았는데 별로 공부에 도움이 될꺼같지 않아서 더이상 풀지 않기로 했다.

'해킹 > Write Up' 카테고리의 다른 글

3DS CTF 2016 not-the-same-200 Write Up  (0) 2017.01.27
3DS CTF 2016 get-started-100 Write Up  (0) 2017.01.27
Protostar Heap3 Write-Up  (0) 2017.01.25
ECTF-2016 Defushal(rev50) Write Up  (0) 2016.10.29
[PythonChallenge-3] equality.html 풀이  (0) 2016.09.14