정보보안/CTFLOG(25)
-
[CTF] DEF CON CTF 2024 Qualifiers - Gilroy
Defcon 2024 Quals에 Friendly Maltese Citizens 라는 팀으로 참가하였다.학교 생활 때문에 바쁜 와중 잠깐 짬을 내서 참여한 데프콘 예선에서 출제된 Gilroy라는 문제의 write-up을 작성했다.문제 카테고리는 Web, Misc 로 생각하고 있고컨셉은 게싱에 웹 로직을 활용해서 해결 할 수 있는 문제다. 사이트에서 제공하는 기능을 나열해보자면회원가입, 로그인, 쓰레드 작성, 쓰레드 댓글 작성, 회원 정보 확인 정도가 존재한다.아래의 사진은 문제에 들어가면 보이는 화면이다 기본적으로 회원가입을 진행한 뒤에 쓰레드에 글을 작성하면 normal group으로 작성이 된다.하지만, 작성된 글 리스트 맨 아래를 확인하면 admin 권한의 회원정보를 확인할 수 있는데, admin..
2024.05.09 -
[CTF] Dice-ctf write up
dice와 block이 정확히 9번째 움직임에서 만나면 되는 문제. wasd로 움직일수 있다. dice가 아래 방향으로 9번 움직일때 block도 왼쪽으로 9번 오면 flag가 출력된다 하지만 dice를 움직일 때 block도 랜덤하게 움직이게 되는데, 이를 해결하기위해서 적용된 js code를 조금 수정해주면 된다. 아래는 원본 코드 var icons = [ "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAD1BMVEUAAADDGBgwMDD%2F%2F%2F%2FNMzNpjlSGAAAAAXRSTlMAQObYZgAAAJJJREFUKM%2Bd0dEJgyEQA2DpBncuoKELyI3Q%2FXdqzO%2FVVv6nBgTzEXyx%2..
2024.02.03 -
[CTF] insomni'hack Teaser 2024
insomni'hack Teaser 2024에서 출제된 InsoBank 라는 웹 문제 문제 설명에 적혀있는 "나에게만 전송 가능" 이 문장과 구현되어있는 송금 (본인의 계좌에만) 기능을 통해서 레컨으로 푸는 문제라고 직감했다. 실제로 flag를 얻는 조건이 /account의 계좌에 13.37원 초과한 금액이 있다면 json으로 flag를 return해준다는 것을 통해 race condition을 통해서 해결 할 수 있다고 확신했었다. 대회 기간동안 레이스 컨디션으로 인한 트래픽 때문인지 계속 다운되는 서버 때문에 어질어질했지만.. burp suite에서 송금하는 패킷을 딴 뒤에 repeater로 send만 여러번 눌러줘도 풀리는 어이없는(?) 문제였다. 그리고 이유는 모르겠지만 해당 문제 서비스 구축할 ..
2024.01.21 -
[CTF] uoftctf-2024
문제 페이지에 접속하면 닉네임을 입력하는 input 창과 submit 버튼이 있다. asdf라는 닉네임을 입력하고 submit하면 page2로 이동되고, 닉네임이 출력되는 간단한 기능을 하는 사이트다. 이때 cookie를 확인해보면 auth_token이라는 이름으로 입력된 이름이 저장된다. 이때, signature 코드를 입력하지 않으면 jwt를 입력했을때 /register로 redirect된다. 따라서, jwt-cracker 등을 이용해서 jwt 시그니처를 알아냈어야 했다. 이후, response 값을 확인해보니 server로 python3.10.13을 사용하고 있다. 입력 값을 통해서 ssti를 트리거 시키는 문제라고 생각했다. 하지만, config,class,mro,_,',",%등 거의 모든 문자열..
2024.01.17 -
[CTF] Wacon 2023 ( junior division )
BoB 킥오프 발표 준비하면서 예선하느라 문제를 아침에 일어나자마자 하나 밖에 풀지 못했다. 그래도 팀원들이 다 잘해줘서 본선은 갈 수 있었다. MIC CHECK (misc) import requests base_url = "{/2/0/6/0/9/2/3/e/5/3/f/a/" while True: for char in "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+=-[]{\\}|;:'\\",.?/": url = base_url + '/' + char response = requests.get(url) print(f"URL: {base_url}") if response.status_code == 200: base_url..
2023.09.05 -
[CTF] SSTF 2023
BoB에서 나간 (솔플) SSTF 라이트업.. tutorial - SQLi 101 튜토리얼 sql인젝션 문제이다. 인젝션에 실패하면 힌트라고 쿼리문을 출력해준다. 참고하면 될 듯 하다. id : admin' || '1' = '1 pw: asdf SCTF{w3lcOme_7o_w0rld_Of_W3b_h4ck1n9} tutorial - XSS 101 sql injection 튜토리얼 문제와 똑같은 로그인 폼이 주어진다. 아무런 정보가 없으니 일단 로그인을 한 번 시도해본다. fail이 뜨면서 Need Help? 라는 바로가기가 뜨게 된다. 대회가 끝나서 bot이 작동되지 않고 있는 것 같은데, 이렇게 보내면 admin의 세션 아이디를 얻을 수 있다. 그렇게 얻게 된 sessid를 이용해서 admin.php에 ..
2023.08.20