반응형

CTF 362

[DiceCTF] Babier CSP - 웹해킹 / 크로스사이트스립트 / CSP

문제 제목처럼 CSP 를 우회하여 XSS 를 해야하는 문제이다. 문제페이지 주소와 쿠키를 탈취해야할 대상인 Admin Bot의 주소가 주어지고 index.js 소스파일이 주어진다. 일단 문제페이지에 들어가봤다. 아래쪽에 View Fruit 라는 버튼이 있는데 이 버튼을 누르면 URL 의 name 파라미터에 apple, orange, pineapple, pear 네 가지 과일이 랜덤하게 들어가고, 그 값을 보이는것처럼 웹페이지에 적어준다. const express = require('express'); const crypto = require("crypto"); const config = require("./config.js"); const app = express() const port = process..

CTF/웹해킹 2023.03.02

[LACTF] CATS! - MISC / OSINT

MISC 카테고리에 있던 OSINT 관련 문제 OSINT는 Open Source Intelligence 의 약자로 공개출처정보를 의미하고 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 설명을 읽어보면 고양이 사진을 보고 이 고양이들이 있는 장소가 어디인지 알아내 달라고 한다. 플래그를 제출할 때는 해당 장소의 웹사이트 도메인을 제출하라고 나와있다. 이게 주어진 고양이 사진이다. 정말 말그대로 CAT HEAVEN 이다. 해당 파일의 속성을 확인해봤더니 경위도 정보가 나와있었다. 경위도를 알면 찾는건 아주 쉽다. 구글 지도를 이용하면 된다. 그런데 이상하게 사진에 있던 경위도를 그대로 써서 검색했더니 북대평양 한가운데 점이 찍혔다. 어떤 섬도 아니고 그냥 망망..

CTF/MISC 2023.02.28

[LACTF] metaverse - 웹해킹 / 크로스사이트스크립트

기존에 풀었던 XSS 문제보다 조금 더 어려웠던 XSS 문제이다. 문제페이지 주소와 함께 소스코드인 index.js 파일이 주어진다. 문제 페이지는 크게 두가지 구성으로 되어있다. 회원가입하고 로그인 한 뒤 게시글을 작성할 수 있는 페이지와 관리자에게 특정 url을 전달해 해당 url로 관리자가 접속하도록하는 페이지가 있다. 문제 구성상 XSS 취약점이 존재하는 포인트를 찾아서 해당 url을 관리자에게 전달해 관리자의 중요 정보를 탈취하는 것이라고 생각했다. 우선 securityman 이라는 계정을 만들어서 로그인해 보았다. 특이한게 ID와 비밀번호 외에도 metadisplay name 이라는 값을 입력받는다. const accounts = new Map(); accounts.set("admin", { ..

CTF/웹해킹 2023.02.26

[LACTF] caterpillar - 리버싱 / 자바스크립트

자바스크립트 난독화와 관련된 리버싱 문제 복잡해 보이지만 어렵지 않게 풀 수 있다. const flag = "lactf{XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}"; if (flag.charCodeAt(-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~[]) == -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~[]..

CTF/리버싱 2023.02.23

[LACTF] EBE - MISC / Wireshark / Tshark

MISC 카테고리에 있던 문제 포렌식으로 분류해도 될 것 같다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 설명을 읽어보면 친구에게 UDP 를 이용해 플래그를 한글자씩 보내고 있었는데 누군가가 이상한 데이터를 보내서 망쳐놨다고 한다. RFC 3514 와 관련있을거 같다는 힌트가 같이 주어진다. RFC 3514 가 뭔지 궁금해서 구글에 검색해봤다. 위키피디아 문서가 하나 나오는데 Evil bit 이라는 제목이다. IPv4 패킷 헤더에 추가되는 만우절에 만들어진 뭔가인듯 하다. 일단 여기까지만 대충 보고 문제 파일로 바로 들어갔다. 먼저 주어진 EBE.pcap 파일을 Wireshark 를 이용해 열어보았다. 10.0.1.10 에서 10.0.1.5 로 보내는..

CTF/MISC 2023.02.21

[LACTF] colleage-tour - 웹해킹 / 개발자도구

이번 대회에서 가장 쉬웠던 웹해킹 문제 문제라기 보단 그냥 몸풀기 정도가 아닐까 싶다. 따로 주어지는 파일 같은건 없고 문제페이지 주소만 주어진다. 문제페이지에 접속했을 때 화면이다. UCLA 투어와 관련된 내용을 안내하고 있는데 중간에 눈에띄는 부분이 있다. After finally setting foot on UCLA's campus, you're excited to explore it. However, the new student advisors have hidden six clues in the format lactf{number_text} all across UCLA. To complete the scavenger hunt, you must merge all the parts into one i..

CTF/웹해킹 2023.02.19

[justCTF] PDF is broken, and so is this file - 포렌식 / binwalk / HxD / Ruby

조금 어려웠던 포렌식 카테고리의 문제 문제 설명을 읽어보면 PDF 파일이 플래그를 가지고 있는데 사전에 뭔가 작업을 해야 찾을 수 있다고 한다. 문제에서 주어지는 파일은 challenge.pdf 파일이다. 썸네일을 보면 알 수 있겠지만 해당 파일을 열어보면 아무런 내용이 없은 백지 상태이다. 해당 PDF 파일을 HxD 를 이용해 분석해봤다. PDF 파일을 열면 가장 먼저 앞에 %PDF 라는 문자가 있어야 하는데 이 파일은 그렇지 않고 앞에 require 'json' require 'cgi' require 'socket' =begin 라는 문자열이 적혀있었다. 파일 중간중간에도 보면 일반적으로 PDF 파일 안에 있을법한 내용이 아닌 다른 내용들이 눈에 띄었다. ruby-doc 를 찾아보니 모듈을 불러오는 ..

CTF/포렌식 2023.02.17

[justCTF] That's not crypto - 리버싱 / uncomplye6

어렵지 않은 리버싱 문제 crypto 문제가 아니라고 문제 제목에서부터 강력하게 어필하고 있다. 문제에서 주어지는 것은 checker.pyc 파일이다. .pyc 파일을 파이썬 코드로 복구하는데는 uncompyle6 라는 도구를 사용한다. pip install uncompyle6 라고 입력하면 다운로드 받을 수 있다. uncompyle6 이라고 입력하면 아래쪽에 디컴파일된 결과가 출력된다. from random import randint def make_correct_array(s): from itertools import accumulate s = map(ord, s) s = accumulate(s) return [x * 69684751861829721459380039 for x in s] def val..

CTF/리버싱 2023.02.15

[justCTF] MyLittlePwny - 포너블 / Jail Escape

간단한 난이도의 Jail Escape 문제 대회에서는 보이는것 처럼 PWN, MISC 두 카테고리에 동시에 들어가 있는 문제였다. 별도로 파일은 제공되지 않고 nc 명령어를 이용해 원격에서 접속할 수 있도록 해놨다. 원격으로 접속하면 > 프롬포터가 나오면서 사용자의 입력을 받는다. 테스트용으로 hihi 라고 입력해 봤더니 My Little Pony 에 나오는 것 같은 캐릭터가 내가 입력한 말을 그대로 echo 해주었다. 단순히 입력한 말을 그대로 출력해주는데 어떻게 Escape 할 수 있을지 생각해봤다. 방법은 아주 간단했다. ` 기호를 입력하고 그 사이에 명령어를 넣으면 위처럼 명령어가 실행된 결과가 출력된다. 위 사진은 ls 명령어의 실행 결과이다. 중간에 flag 라는 이름의 파일이 보인다. 해당 ..

CTF/포너블 2023.02.13

[boot2root] Vulnerable Adventure 2 - MISC / Python

이전 문제(https://hackingstudypad.tistory.com/413) 와 연계되는 문제이다. 똑같이 전에 제공되었던 client.py 파일을 이용해서 풀 수 있다. import struct import socket import random s = socket.socket() port = 1013 s.connect(('35.238.225.156',port)) coins = 100 health = 100 mana = 100 posx = 0 posy = 0 goblin = 0 terminated = 0 dummyflag = 0 vuln = random.randint(1,500) while(1 == 1): print "Welcome to game" print "What would you like ..

CTF/MISC 2023.02.11
반응형