WeekHack
-
19회 해킹캠프 CTF ucanfindWeekHack/Pwnable 2019. 5. 9. 01:08
안녕하세요. Luke입니다. 해킹캠프 CTF의 ucanfind 문제를 가지고 왔습니다. 사실 이 문제는 해킹캠프에 참여했을 당시 비슷한 문제를 전에 32비트로 익스를 성공해서 대충 어떻게 익스를 하면 될지에 대해 감이 왔는데 그 때 당시에는 제가 64비트 익스를 못해서 ㅠㅠ 아쉽게 제가 못풀고 팀원에게 구조를 설명해서 다른 팀원이 풀었었던 문제 입니다. 자꾸 기억에 남아서 결국 다시 풀게 되었네요 ㅎㅎ 아참! 이게 출제자의 의도는 아니었답니다. 안에 쉘코드가 숨어있대요! 저도 문제를 푼 뒤 다른 라업보면서 알게되었네요!(참고: http://blog.naver.com/PostView.nhn?blogId=yjw_sz&logNo=221468503138 ) 19회 해킹캠프 CTF ucanfind (libc db..
-
[64비트 ROP] Codegate2018 Qual BaskinRobbins31 문제풀이(1일 1포너블 1일차 by Luke - 2019.4.18<목>)WeekHack/Pwnable 2019. 4. 19. 02:43
안녕하세요. Luke입니다. 1일 1 pwnable 1일차입니다. 60일을 목표로 시작하는데 첫 걸음을 띄었다는 것에 대해 놀랍네요. 오늘 풀 문제는 Codegate2018 예선 문제였던 BaskinRobbins31를 풀어볼 예정입니다. 저번에 풀었던 Ropasaurusrex와는 비슷하고도 다르게 64비트 ROP를 사용하는 문제입니다. 바이너리를 실행시키면 위와 같이 1-3 사이의 숫자를 입력하라고 나오고, 알파벳을 이용하는 등 예상치 못한 경우의 경우 Don't break the rules...:(가 뜨면서 다시 입력하게 합니다. 또한, 정상적으로는 사용자가 이기지는 못하게 되어있는 것 같았습니다..(예전에 되나 안되나 노가다해봤습니다 ㅋㅋ) 먼저 checksec으로 메모리보호기법을 확인해보겠습니다. ..
-
[32비트 ROP] Plaid CTF 2013 RopasaurusrexWeekHack/Pwnable 2019. 3. 28. 21:05
안녕하세요. Luke입니다. 코드게이트 잘 다녀와서 독감이 걸리고 말았네요 흑흑...(어쩐지 코드게이트에서부터 계속 힘들더라고요 ㅠㅠ) 어쨋든 학교를 쉬는 김에 64비트 ROP를 클리어 해보기 위해! 다시 한번 32비트 ROP인 ropasaurusrex를 꺼냈답니다! 먼저 ropasaurusrex 바이너리를 실행시켜보도록 하겠습니다. 참고로 바이너리는 아래의 링크에서 받으실 수 있습니다. https://drive.google.com/file/d/1lRFuHIv5L_xdQrKr28nn3llnB_o1COge/view?usp=sharing ropasaurusrex drive.google.com 어쨋든 그럼 이제 문제를 풀어보도록 하겠습니다. (ROP에 대해 접해보시지 않은 분들을 위해서는... 죄송합니다.....
-
Webhacking.kr 1번 Cookie 문제WeekHack/WebHacking 2019. 3. 15. 02:15
안녕하세요. Luke입니다. Webhacking.kr 1번 문제 쿠키문제를 가져왔습니다. 해당 문제는 예전에 한번 푼적이 있는데 Webhacking.kr 올클리어를 위해서 계정 다시 파고 1번부터 다시 풀고 있습니다. Weekhack 진행하고 난 뒤에 이 문제 풀이를 포스팅한적 없어서 다시 한번 풀이합니다. 일단 1번 문제를 들어가면 아래 그림과 같이 나오게 됩니다. 아래 index.phps를 클릭하시면 소스코드를 볼 수 있습니다.소스코드는 아래와 같습니다 --------------------- ----- index.phps ----- 간단히 php소스를 해석해보겠습니다. 1. user_lv 쿠키가 없을 경우 user_lv쿠키를 생성해 1이라는 값을 저장합니다.2. user_lv 쿠키가 0-9가 아닐 경..
-
pwnable.kr bofWeekHack/Pwnable 2019. 3. 4. 05:59
안녕하세요. Luke입니다. 오늘은 pwnable.kr의 bof문제를 가지고 왔습니다.이런 문제라서 일단 바이너리를 받아서 checksec을 해봤습니다.그 결과, NX와 Canary 그리고 PIE가 걸려있다는 것을 알았죠. 그래서 아 이거 쉘코드를 이용한 bof는 아니구나 라는 생각이 들었습니다. 그래서 IDA로 바이너리를 분석해봤습니다. a1이라는 변수가 -889275714면 system함수로 binsh를 실행시키더군요. 그리고 캡처하지는 않았지만 저 a1에 전달되는 처음 인자 값은 -559038737로 deadbeef입니다. 참고로 -889275714는 0xcafebabe입니다. 바이너리를 실행하면...이렇게 입력하는 칸이 나옵니다. 그리고 거기에 오버플로우를 해서, 인자로 전달되는 a1에 접근할 수..