분류 전체보기 73

무비로그

-- 수능 ~1. 놈이 우리 안에 있다 - 2022.11.23 / CGV2. 라라랜드 - 집3. 인생은 아름다워 - CGV4. 헤어질 결심 - 신촌 메가박스5. 올빼미 - 부평 CGV6. 스트레인지 월드 - 부평 CGV7. 그래비티 - 2022.11.08 / 용산 IMAX8. 패왕별희 - 신촌 메가박스9. Everyone Everywhere all at once - 계양 CGV10. 영웅11. 바빌론 - 2023.02 / 부평 CGV12. 타이타닉 - 부평 CGV13. 스즈메의 문단속 - 부평 CGV14. 소울 - 집14.5 겟아웃 - 집15. 미드소마 - 집16. 엘리멘탈 - 부평 CGV17. 오펜하이머 - 계양 CGV18. 인셉션 - 집19. 올드보이 - 건대 롯데시네마20. 그대는 어떻게 살 것인가..

Life/Review 2023.08.24

2023 SSTF - Dusty Code

아쉽게 못 푼 문제. 문제 설명처럼 a-z 까지 수백개의 프로젝트 폴더를 주는데 이 중 서버에서 돌리는 코드를 찾으면 된다. 서버에 접속하면 위와 같이 뜨는데 이를 이용해서 서버 코드를 찾는다. import glob import re from requests import get url = 'http://dustycode.sstf.site:3000/' directories = glob.glob('./projects/*') for i, directory in enumerate(directories): # print(i, directory) app = open(f'{directory}/server/app.js', 'r').read() endpoints = re.findall("'/.*'", app) for e..

CTF Writeup 2023.08.21

몰입

사람들은 저마다 '몰입'할 수 있는 것들이 있다. 이것을 할 때는 해가 뜨고 지는 것도 배가 고픈 것도 내 자신이 힘든지 신경을 안 쓰게 된다. 이러한 몰입을 할 수 있는 분야나 어떤 행동에서는 다른 사람들에 비해 적은 시간 안에 많은 학습과 성취를 얻을 수 있다. 이를 나는 고효율이라 부르고 중학교~고등학교 6년간 학교에서 하는 교육을 저효율이라 생각한다. 물론 고효율로 내신, 수능 공부를 하면 좋겠지만 본인이 같은 시간 안에 더 큰 성취감을 느낄 수 있는 즉 몰입할 어떤 틈새가 생기면 내신 공부는 끙끙대며 하게 된다. 정말 나는 중 고등학교 벼락치기 할 때 쓰레기를 뇌에 잠깐 저장했다 빼는 듯한 기분으로 불쾌하게 공부했었다. 대부분의 내신 공부는 암기나 선생님께서 수업시간에 언급한 지엽적인 부분들을 ..

Life 2023.08.20

생애 첫 해커톤 수상 후기

주저리주저리 해커톤 후기를 남겨본다 때는 6.30. 건대 컴공 학생회에서 첫 해커톤을 연다는 소식을 들었다. 살면서 나간 대회는 오직 해킹 대회밖에 없던 나는 나가볼까 말까 했었는데, 대학 동기 친구로부터 해커톤 같이 하자는 제안이 왔다. 마지막 개발이라고는 콘솔 게임제작 하려던 것과 C 프로그래밍 기말 산성비 게임 제작이었다. 백엔드? 중학교 2학년때 유튜브 매니저 만들어본 것 외에 Sql 다뤄본 적이 없었따. 오로지 웹 해킹 문제 풀면서 본 Flask / php / express 로 백엔드를 배웠다. 그렇기에 이참에 친구랑 하나 제대로 만들면서 공부해보고자 같이 신청했다. https://github.com/LittleDev0617/PlaceTalk 첫 해커톤이자 첫 백엔드 프로젝트기에 미숙한 점이 많..

Life 2023.08.18

AmateursCTF 2023 - flagchecker Writeup

퍼블 딴 문제 스크래치 문제인데 나름 재밌었다. 더러운 코드들이 보인다. 실행해보면 플래그를 입력하라 하고 zz 플래그가 틀리면 화낸다. 일단 분석을 위해 모든 변수, 리스트, 함수이름을 바꿔준다. 먼저 기본 변수 및 리스트 초기화를 해주는데, var26이 0임을 계속 생각하면 좋다. (상수 역할) the_ball object 에 flag를 list2에 입력받고 check 신호를 보낸다. 이후 배경 오브젝트 에서 check 신호를 받는다. list2 값들을 list1에 넣고 check2 신호를 보낸다. 분석하기 귀찮으니 동적분석 check2 신호를 받는 core object 코드를 살짝 떼놓고 실행해본다. list1 과 list2를 화면에 띄우고 abcd1234를 입력해보면 그냥 통상적인 encode 임..

CTF Writeup 2023.07.19

zer0ptsCTF 2023 - decompile_me Writeup

간단해보이는 문제인데, 약간의 함정을 파놨다. 먼저 RC4_setkey 로 넘기는 key와 sbox는 사용하는 척 사용 안한다. 위처럼 매개변수를 사용하지 않는다. memcmp 도 직접 구현하였고, 매개변수로 넘긴 data를 사용 안하고 다른 값과 비교한다. encrypt 함수는 아래와 같고 sbox는 아래와 같이 고정되는데, 를 통해 추출한다. 정연산 역연산: Flag : zer0pts{d0n'7_4lw4y5_7ru57_d3c0mp1l3r}

CTF Writeup 2023.07.19

zer0ptsCTF 2023 - mimikyu Writeup

문제 바이너리와 두 개의 라이브러리 파일을 준다. strip 되지 않았다. mimikyu main 을 보자 일단 flag 길이가 40자인 것은 알 수 있다. ResolveModuleFunction 일부: 매개변수로 받은 값이 해시값이고, 해시값을 통해 특정 라이브러리의 특정 함수를 호출하는 것을 알 수 있다. LoadLibrary 후 ResolveModuleFunction 에 라이브러리와 해시값을 넘겨 원하는 함수를 호출하는 것을 유추할 수 있다. 실제로 call 하는 곳에 브포 걸고 확인하면 라이브러리 내의 함수를 호출한다. 첫 ResolveModuleFunction 호출은 gmpz_init 임을 알 수 있다. (r10) 브포걸고 계속 continue 해서 호출되는 함수들을 확인한다. srand 로 시..

CTF Writeup 2023.07.19