목록CTF (48)
Sechack
음.. hspace톡방에 이런게 올라왔다. 포너블 안한지 꽤 오래되긴 했지만 1등이 스벅 15만원이고 한문제라도 풀면 만원이 거저 들어오기 때문에 안할 이유가 없었다. 오랫동안 포너블 안해서 죽은 감도 살리면서 돈도 얻자는 마인드로 했다. 솔직히 풀타임으로 하면 1등 그냥 할줄 알았는데 사진 보면 개망했다는걸 알 수 있다. 처음부터 순조롭게 밀다가 Unsafe Calculator라는 개씹트릭 문제를 만나고 저 문제에 6시간 이상 박으면서 다른 문제를 볼 시간이 삭제되었다. Unsafe Calcuator를 결국 풀긴 했는데... 사진에서 보이다시피 끝나기 10분전에 깨닫고 푼거다. 끝나고 msh1307 이친구 write up을 보니까 VMUprotect도 쉬운 vm문제였고 qwerty님한테 물어보니까 Po..
올해 크리스마스에 나는 집에서 열심히 CTF를 뛰었다. 결론은 극적으로 1등했다. 팀 멤버는 이렇게 구성해서 뛰었다. 원래는 인원제한이 3명이었지만 ks님이랑 둘이서만 뛰고 있었는데 웹문제가 너무 안풀려서 중간에 movptr도 영입했다. movptr을 영입한게 신의 한수였다. 원래 3등에서 계속 고정되어있었고 2등팀을 두문제 이상 풀어야 잡을 수 있는 상황이었는데 시간은 2시간도 안남았길래 체념하고 가벼운 마음으로 남은 웹문제들을 보고 있었다. 그런데 갑자기 ks님이 기대도 안한 블록체인을 풀어버렸고 이 시점에서 Santa's workshop문제도 70%이상 풀린 상황이었기에 갑자기 막판에 30분남기고 초 비상이 걸렸다. 그리고 위 인증 내역을 보면 알겠지만 극적으로 끝나기 7분전에 플래그를 따서 3등에..
Whitehat Contest 2023 청소년부 1등 GG 이번에 드디어 큰 대회에서 1등을 했다. 사실 동점으로 늦게풀어서 2등할뻔했는데 동점 2등인 상황에서 rev1을 한팀이 더 풀면서 2솔이 되었고 crypto는 푼팀이 우리팀빼고 없어서 1등으로 올라갈 수 있었다. 이러한 기적을 만들어낸 다이나믹 스코어링 방식과 rev1을 2솔로 만들어준 3등 팀에게 감사하다. 그리고 팀원이랑 같이 푼거긴 해도 웹 올클해서 기분좋다. 한가지 아쉬운건 시상식 날이랑 HITCON 2023 Final이랑 겹쳐서 시상식때 대만 가있어야 해서 상받는 사진은 못건질거같아서 조금 아쉽긴 하다. (시상식엔 없었지만 사진은 받았다. ㅎㅎ 아래에 첨부해뒀다.) 1등은 국방부 장관상을 줘서 과기부장관상 1개(YISF때 딴거), 국방부..
일단 The Orange팀으로 나가서 청소년부 2등해서 상은 땄다. 요즘 포너블에서 웹으로 분야 전향하고 있어서 웹만 보고 있는데 대회 중에 진짜 빡겜했으면 웹 하나 더 풀 수 있었을거같기도 했는데 조금 아쉽다. 어차피 그거 풀어도 1등 못하는 점수였어서 딱히 미련은 없다. Codegate이후로 메이저 대회에서 웹만 주구장창 풀고, write up보고, 복기해보고 열심히 공부하기로 결심했었는데 BoB때문에 실천은 못하는중이다. 빨리 BoB끝나고 웹해킹만 해서 웹의 신이 되고싶다. 조금이라도 계획을 실천하고자 이번 WACON 2023 Final 청소년부에 출제된 모든 웹 문제를 업솔빙해봤다. 웹은 청소년부 일반부 문제 전부 같고 청소년부에 4문제, 일반부에 5문제가 출제되었다. 청소년부에 없고 일반부에만 ..
CTF때 처음으로 제대로 잡아본 커널 문제이다. 원래였으면 CTF에 v8, kernel나왔으면 던졌을테지만 BoB에서 커널 관련 강의 듣고 LINE CTF 2021에 나왔던 pprofile이라는 커널 문제를 풀어보면서 커널에 나름 자신감이 붙은 상황이었다. 대충 이렇게 모듈을 등록하고 있고 fops구조체에는 write와 ioctl이 선언된 상황이다. ioctl에선 aar이 가능하고 write에서 bof가 터진다. 전형적인 kernel rop인데 kernel base leak과 canary bypass가 관문이었다. kernel base leak은 LINE CTF 2021 pprofile문제와 비슷한 이이디어로 할 수 있다. copy_to_user함수는 복사 실패한 바이트 수를 반환하는데 invaild한 ..
예선 4등했다. 1등이 영국사람인거같은데 너무 압도적으로 웹 0솔짜리를 풀면서 점수를 올렸다. 더 강해져야겠다. cryptGenius #!/usr/bin/python3 from hashlib import md5 from Crypto.Cipher import AES from base64 import * from secret import secret_key,flag BS = 16 KEY = secret_key FLAG = flag pad = lambda s: s + (BS - len(s) % BS) * \ chr(BS - len(s) % BS) unpad = lambda s: s[:-ord(s[len(s) - 1:])] def encrypt(raw): raw = pad(raw) cipher = AES.new..
원래 안하려고 하다가 새벽에 잠깐 봤는데 어쩌다보니 빡겜하게 되었다. 한국 7등 GG 글로벌 순위는 50등이다. 한국 top3안에 들어야 아시아 대표로 선발될 가능성이 생기는데 언젠가 한번 해보고싶다. 중간에 참여한거라 24시간 대회인데 15시간 새벽 3시부터 오후 12시까지 빡겜했다. 시간부족으로 웹을 못봤는데 시간 좀 더 있었으면 웹 한두개 더 풀었을것 같긴 하다. Merkle Hellman #!/usr/bin/env python3 import random import binascii def egcd(a, b): if a == 0: return (b, 0, 1) else: g, y, x = egcd(b % a, a) return (g, x - (b // a) * y, y) def modinv(a, m..
드림핵에서 크리스마스에 개최한 크리스마스 CTF에서 3등을 했다. 엄청나게 놀라운 기적이 일어났다. 당연히 1등한테 갈줄 알았던 100만원이 알고보니 3등한테 베팅되어있었다. 크립토 용병과 리버싱의 신...!! CyKor분들 2명이랑 각자 역할을 분담해서 뛰었는데 밸런스가 매우매우 좋았다. 각자 자기 분야에서 대부분의 문제들을 해결했다. 대회에 진심이긴 했지만 국내대회 본선 할때처럼 빡겜을 뛰진 않았다. hspace에서 모여서 했는데 (종민님은 나오기 싫다고 집에서 했다.) 점심에는 마라탕을 맛있게 먹었고 저녁으론 닭발을 먹었다. 그리고 Wish List라고 포너블중에 꼴받게 하는 문제가 있었는데 비몽사몽한 상태로 새벽 5시까지 잡다가 도저히 모르겠어서 자고 8시에 일어났는데 일어나서 10분 보니까 새벽..
이번 Layer7 CTF는 고등부 1등을 했다. 작년에도 중등부 1등 해서 상받았었는데 연속으로 1등해서 기분이 좋다. 아무거나 한문제만 더풀었으면 위에있는 Ainsetin이라는 사람도 이길 수 있었는데 이건 조금 아쉽긴 하다. 그리고 스코어보드 그래프와 플래그 인증 시간 보면 알겠지만 5문제를 플래그 키핑하고있다가 끝나기 5분전에 싹다 인증해서 순위 급상승 시켰다. 플래그 키핑 한번 해보고 싶었는데 이번에 처음 해봤다. secom S-1은 퍼블 마려워서 키핑 안했고 Checkcheck는 그냥 mic check니까 인증해줬고 baby requester문제를 풀어야 child requester문제가 보인다길래 그냥 푸는김에 같은 시리즈니까 그 두개도 인증해줬다. 나머지는 끝까지 키핑하다가 인증..ㅎㅎ 대충..