CTF(4)
-
UgraCTF Quals 2023 - Writeup
UgraCTF 2023에서 제가 풀었던 문제의 Writeup 입니다. 문제를 보면 엑셀 파일을 하나 주는데, 이 파일을 열어보면 웬 이상한 모눈종이(?)가 보인다. 각 셀들을 잘 살펴보면 그냥 숫자만 입력되어 있는 셀이 있고, 수식이 입력되어 있는 셀들이 있다. 일단 시험삼아 수식이 들어있는 셀에 색을 입혀봤더니.... 플래그 포맷이 나오는 것을 볼 수 있었다.. 그럼 플래그를 얻기 위해서는 수식이 들어있는 모든 셀을 색칠해보면 알 수 있지만 하나하나 색을 입히기에는 너무 오래 걸릴 것이다. 이걸 해결할 수 있는 방법이 엑셀에 수식 찾기 기능이다. 이 기능을 활용해 색을 입히면 플래그를 얻을 수 있다. 문제를 보면 checker.py 파일을 주는 데, 파일의 소스 코드를 먼저 살펴보자. import ba..
2023.01.15 -
2022 ChristmasCTF Writeup - Programming
2022/12/25 ~ 2022/12/27까지 진행되었던 ChristmasCTF에서 제가 출제했던 문제들의 Writeup을 공유합니다. 이 문제는 순위를 구하는 알고리즘을 작성할 수 있냐를 묻는 문제였습니다. 순위를 구하는 알고리즘은 다음과 같습니다. 1. 모든 자료의 순위는 1위로 초기화 2. 순위를 구하려는 자료와 나머지 모든 자료와의 크기 비교 3. 크기 비교한 결과를 가지고 순위를 구하기 제가 작성한 코드는 다음과 같습니다. f = [12, 68, 89, 10, 39, 14, 90, 44, 92, 82, 97, 55, 80, 44, 11, 81, 22, 83, 65, 90, 52, 14, 66, 74, 30, 88, 8, 38, 3, 16, 53, 71, 57, 81, 57, 3, 83, 39, ..
2023.01.01 -
2022 ChristmasCTF Writeup - Web
2022/12/25 ~ 2022/12/27까지 진행되었던 ChristmasCTF에서 제가 출제했던 문제들의 Writeup을 공유합니다. 이 문제는 SQL Injection을 의도했던 문제입니다. 문제 링크에 들어가면 로그인 페이지가 나오는데, 필터링이 하나도 되어 있지 않아 간단한 SQL Injection 공격도 먹힙니다. ID : ' or 1=1# PW : dksfj(아무거나 써도 됨) 위와 같이 입력하면 로그인에 성공하면서 플래그를 얻을 수 있습니다. 이 문제는 Directory listing 취약점을 이용해서 푸는 문제였습니다. (언인텐으로 xss가 있었다는...) 메인 페이지에서 마땅히 얻을 만한 단서가 보이지 않습니다. 하지만 URL에서 main.html을 지우면 현재 디렉토리에 무슨 파일들이 ..
2022.12.31 -
squareCTF writeup
squareCTF writeup 1. Pulse Check 문제에 플래그가 존재한다. 2. EZ pwn 1 간단한 overflow 문제였다. source를 보면 way_too_small_input_buf의 값이 no\n 가 아니라면 ls 명령을 실행해주는 프로그램인 것을 알 수 있는데, way_too_small_input_buf 변수의 크기가 8바이트임에도 불구하고, read 함수에서 24바이트를 입력받아 오버플로우 공격이 가능한 것을 알 수 있다. 그러므로 8byte를 임의의 값으로 채워주고, command를 내가 원하는 명령어로 채워주면 플래그를 얻을 수 있을 것 같다. 공격 payload from pwn import * r = remote('chals.2022.squarectf.com', 4100)..
2022.12.01