반응형

python 80

[247CTF] THE FLAG LOTTERY - MISC / Python

247CTF 에서 제공하는 EASY 난이도의 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 설명을 읽어보면 특정 숫자를 맞춰야만 플래그를 얻을 수 있는것 같다. import SocketServer, threading, random, time class ThreadedLotteryServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer): pass class LotteryHandler(SocketServer.BaseRequestHandler): def handle(self): secret = random.Random() secret.seed(int(time.time())) winning_choic..

워게임/247CTF 2023.10.12

[2021CCE] Search king - 웹해킹 / Python

2021CCE에 출제되었던 웹해킹 문제 게시판 기능에서 발생하는 전형적인 정보 노출 취약점에 대해 다루고 있다. 문제 소스는 따로 없고 문제 페이지 주소만 주어진다. 문제페이지에 접속하면 간단한 게시판 형태가 보인다. admin 이 뭔가 글을써놨는데 Pernission이 ALL 인것과 hacker 인것 두개가 나눠져 있다. All 게시물은 그냥 내용을 읽을 수 있는데 hacker 게시물은 권한이 없어 읽을수가 없다. 이 게시물 안에 문제의 플래그가 숨어있다. 이 게시판의 취약점은 내용 기반 검색을 하는데, 검색시에는 권한을 필터링하지 않는다는 것이다. cce 라고 검색하면 hacker 권한 게시물인 2, 4, 6번 게시글의 내용에 cce 라는 내용이 있기 때문에 저렇게 결과가 나오는 것이다. 저런식으로 ..

CTF/웹해킹 2023.08.20

[2021CCE] ptmd - MISC / Python / Pwntool

2021CCE에 나왔던 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 대회 문제들을 보면 컨셉이 기본에 충실한 문제인듯 하다. 이번 문제도 기초적인 프로그래밍 능력을 평가한다고 한다. nc 를 이용해 원격으로 접속해보면 이런 문구가 출력된다. calc 챌린지라면서 ? 부분에 어떤 기호가 오는지 채워넣으라고 한다. 100 스테이지 까지 있고, 클리어해야 플래그를 준다고 적혀있다. 문제 제목인 ptmd 는 plus, times, minus, devide 의 약자인듯 하다. 이전에도 블로그에서 비슷한 문제를 풀이한 적 있었다. (https://hackingstudypad.tistory.com/529) 그때랑 차이점은 연산의 결과를 맞추는 것이 아니라 어..

CTF/MISC 2023.08.13

[CTFlearn] Polycrypto - 암호학 / Python

CTFlearn에서 제공하는 Hard 난이도의 암호학 문제 다항식을 이용한 문제이다. 문제 파일이 제공되는 주소와 위키피디아 주소가 같이 적혀있다. 먼저 문제파일을 다운받아 열어보면 이런 내용이 적혀있다. 엄청나게 긴 다항식이 적혀있는게 보인다. 다음으로 위키피디아에 들어가보면 이런 내용이 적혀있다. 다항식을 binary로 표현하는 방법에 대해 안내한다. 영어랑 수식은 복잡해서 자세히 안읽었고 밑줄친 부분만으로도 충분히 풀 수 있을거 같아 바로 해보기로 했다. 핵심은 다항식에서 p^n 형태로 표현된 부분만 1로, 나머지 부분은 0으로 만들면 된다는 것이다. 우선 지수를 추출해야 했는데 귀찮아서 ChatGPT 한테 시켰다. 1초만에 바로 뽑아준다. ChatGPT가 뽑아준 지수에서 맨 끝에 0만 더 넣으면 ..

워게임/CTFlearn 2023.08.12

[CTFlearn] F1L3 M1X3R - MISC / Python / HxD

CTFlearn에서 제공하는 Hard 난이도의 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 설명을 보면 어떤 사진이 MIXER 에 의해 뒤죽박죽이 되어서 잘 동작하지 않는다고 한다. 이 사진을 다시 복구해달라는게 문제의 요구사항이다. 문제에서 주어지는 파일은 fl4g.jpeg 파일이다. 해당 파일을 열어볼려고 하면 파일이 깨진듯 오류가 나면서 열 수가 없다. 해당 파일을 HxD로 열어보면 바로 뭔가 이상한걸 알아챌 수 있다. JPG 파일은 무조건 시작할때 FF D8 ~ 로 시작을 한다. 이런걸 파일 시그니처 라고 하는데 문제에서 같이 주어진 위키피디아 힌트 페이지에서도 확인할 수 있다. 자세히 보면 원래는 FF D8 FF E0 00 10 4..

워게임/CTFlearn 2023.08.07

[TMUCTF] Injection - 웹해킹 / SSTI

SSTI 와 관련된 웹해킹 문제 SSTI란 Server Side Template Injection의 약자로 템플릿 엔진으로 웹 어플리케이션을 구동하는 경우, 공격자가 템플릿 구문을 악용하여 삽입할 수 있는 취약점이다. 이렇게 템플릿 구문이 삽입되게 되면, 원격 명령어 실행도 가능하게 되는 위험한 취약점이다. 소스코드는 주어지지 않고 문제 페이지 주소만 주어진다. 문제 페이지는 관리자에게 뭔가 리포트 하는 기능을 가지고 있다. 이름을 입력한 곳이 마지막에 Dear [이름], we have received your message 라고 나오는게 보였다. 이곳이 SSTI 백터라고 생각했다. 이 부분이 벡터가 맞는지 확인하는 방법은 아주 쉽다. 여기있는 페이로드를 한번씩 테스트 해보면 된다. 가장먼저 {{7*7}..

CTF/웹해킹 2023.07.09

[n00bzCTF] EZrev - 리버싱 / Java

Java 리버싱과 관련된 문제 코드만 천천히 따라가면 그렇게 어렵지 않다. 문제에서 주어지는 파일은 EZrev.class 파일이다. .class 파일은 바로 내용을 확인할 순 없고 디컴파일을 해야한다. http://www.javadecompilers.com/ Java decompiler online www.javadecompilers.com .class 파일을 온라인으로 디컴파일 해주는 사이트가 있다. 해당 사이트에서 파일을 업로드하고 Decompile 버튼을 눌러주면 된다. import java.util.Arrays; // // Decompiled by Procyon v0.5.36 // public class EZrev { public static void main(final String[] array..

CTF/리버싱 2023.07.03

[n00bzCTF] QRazy CSV - 포렌식 / PIL / QR코드

문제 제목에서 QR 코드라고 힌트를 주고 있는 포렌식 문제이다. 문제에서 주어지는 것은 secret.csv 파일이다. 해당 파일을 열어보면 row, col 이라고 적혀있고 그 아래 숫자들이 써있다. row, col 이라는걸 보니 x,y 좌표라고 생각하면 될것 같고, 숫자는 x, y 모두 0부터 28까지 적혀있었다. 위에도 보면 0 ~ 28 범위 내에서 써있는 숫자도 있고, 안써있는 숫자도 있는데 써있는 숫자는 1, 안써있는 숫자는 0 으로 분류해서 해당 좌표에 색을 칠할지 말지 판단하면 되는듯 했다. 이번 문제는 Python PIL 라이브러리를 이용해서 풀었다. PIL은 Python Imaging Library의 약자로 파이썬으로 이미지 처리를 할 수 있도록 해주는 라이브러리이다. pip install ..

CTF/포렌식 2023.06.28

[Root Me] Python - input() - 포너블

파이썬과 관련된 포너블 문제 파이썬 스크립트의 취약점을 이용해 .passwd 파일의 내용을 읽어 비밀번호를 획득하면 된다. 문제에서는 파이썬 소스코드와 원격 접속할 수 있는 WebSSH 링크가 제공된다. WebSSH 를 이용하면 이렇게 원격에서 웹으로 작업할 수 있다. ls -al 을 해보니 .passwd 와 ch6.py, setuid-wrapper 파일이 보인다. ch6.py 외에는 모두 app-script-ch6-cracked 소유의 파일이다. 당연하게도 .passwd 파일은 권한이 없어 읽을 수 없다. setuid-wrapper.c 파일을 보면 setreuid 를 사용해서 ch6.py 파일을 실행시킨다. 위에서 setuid-wrapper 파일을 봐도 권한에 s 가 들어가 있는게 보인다. setuid..

워게임/Root Me 2023.06.10

[HackingCampCTF] plus minus - MISC / Pwntool

이전에도 많이 풀어봤던 유형의 MISC 문제 pwntool 을 연습하기에 좋은 문제인것 같다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제에서는 원격 접속할 수 있는 주소가 주어진다. 원격으로 접속하면 다짜고짜 수학문제를 낸다. 4931 + 3542 을 계산해서 답을 냈더니 Succeed! 가 출력되면서 다음 문제가 또 나온다. 암산을 잘한다면 별다른 노력없이 그냥 바로 답써도 되겠지만 아쉽게도 그런 능력이 없어서 코드를 작성해야 한다. from pwn import * p = remote('ctf-hackingcamp.com', 3280) for i in range(100): a = p.recvuntil(': ') print(a) a1 = str(a) b..

CTF/MISC 2023.06.07
반응형