반응형

CTF 604

[BSidesCTF] CSP 1 - 웹해킹 / XSS

예전에 풀었던 문제인데 캡쳐를 제대로 해놓지 않아서 풀이가 조금 미흡하다. 문제 제목과 내용에서 알 수 있듯이 CSP 를 우회하여 XSS 를 해야하는 문제이다. CSP 는 Contents Security Policy 의 약자로 XSS 취약점을 완화하기 위해 사용된다. XSS 로 인해 임의의 스크립트가 실행되지 않도록 제약을 거는 것이다. 플래그 경로는 /csp-one-flag 라고 한다. 문제 페이지에 접속하면 이렇게 나온다. Enter your payload 부분에 페이로드를 입력해 공격을 성공시키면 된다. SUBMIT 을 누르면 페이로드가 admin 에게 전송되어 admin 이 읽게 된다. F12를 눌러 개발자도구의 네트워크 탭으로 Response Header 를 확인해보니 CSP 가 위와 같이 설정..

CTF/웹해킹 2023.04.24

[CTFlearn] Brute Force is Fun! - 포렌식 / HxD / Python

CTFlearn의 여든아홉번째 문제 계속해서 이어지는 Hard 난이도 문제이다.. 이상하게 배점이 높은데 사실 그렇게 어렵진 않다. 문제에서 주어지는 것은 legotroopers.jpg 파일이다. 해당 파일을 HxD에서 열어 중간쯤으로 내려가봤다. JPG 파일은 항상 FF D9 라는 값으로 끝난다. 파일에서 FF D9 값이 나오면, 그 뒤에는 아무런 값이 없어야 정상이다. 그런데 이 파일은 FF D9 다음에 50 4B 03 04 로 시작하는 데이터가 오고있는것을 볼 수 있다. 이렇게 50 4B 03 04 로 시작하는 파일은 ZIP 확장자를 가지는 파일이다. 이런것을 파일 시그니처 라고 한다. 50 4B 03 04 부터 파일의 끝까지 추출해서 test.zip 으로 저장했다. 압축을 풀려고 봤더니 비밀번호가..

워게임/CTFlearn 2023.04.23

[PCTF] Proxy It - 웹해킹 / Burp Suite / dirb

쉬운듯 쉽지 않았던 웹해킹 문제 제목이 Proxy 인걸 보니 Proxy 도구인 Burp Suite 를 써야할것 같다. 문제 페이지에 접속하면 이런 화면이 나온다. /flag 경로를 확인하라고 한다. URL에 /flag 를 입력해 해당 경로로 접근을 시도해보니 403 Forbidden 에러가 났다. administrative rules 에 의해 금지되었다고 나온다. 버프 스위트를 이용해 요청 패킷을 잡아두고 요청하는 경로를 /flag 에서 /%66lag 로 바꿨다. %66 은 f 를 인코딩한 값이다. 결국 똑같은 값인데 필터링이 우회되어서 오른쪽 응답 패킷을 보면 플래그가 나오는것을 볼 수 있다. 근데 뭔가 불완전한 플래그 처럼 보인다. 숨겨진 경로가 있나 싶어 dirb 도구를 이용해 brute force..

CTF/웹해킹 2023.04.22

[CTFlearn] Skynet Is (Almost) Taking Over - 암호학 / RsaCtfTool

CTFlearn 의 여든여덟번째 문제 4연속 Hard 난이도의 문제가 나와서 살짝 쫄았는데 이번 문제는 아주 쉽게 풀 수 있었다. 문제 설명이 아주 장황하다. 양자 컴퓨팅 어쩌고 하면서 나오는데 사실 이 의도를 잘 모르겠다. RSA 에 관련한 문제인데 RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를 따서 RSA 라고 이름을 붙혔다. 엄청나게 큰 숫자일수록 소인수분해가 어렵다는것에 착안해서 설계되었다. RSA의 원리는 아래와 같다. 1. 두 소수 p, q를 준비한다. 2. p-1, q-1과 각각 서로소(1외에는 공약수가 없는 수)인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)으로 나눈 나머지가 1의 되도록..

워게임/CTFlearn 2023.04.20

[HackTheBox] Impossible Password - 리버싱 / IDA

HackTheBox 에서 제공하는 쉬운 난이도의 리버싱 문제 간단하게 풀 수 있다. 문제에서 주어지는 파일은 impossible_password.bin 파일이다. 리버싱 문제이니 고민하지 않고 바로 IDA 로 열어보았다. main 함수에서 f5를 눌러 수도코드를 살펴보니 * 을 출력한 뒤에 사용자 입력을 받는데 그 값이 SuberSeKretKey 일 경우 다음으로 넘어가게 되어있다. 그리고나서 ** 을 출력하고 또 입력을 받는데 이번엔 그 값이 v3 의 값과 같아야 한다. v3 는 sub_40078D 의 수행결과가 저장되는데 sub_40078D 를 들어가 봤더니 시간을 시드값으로 해서 랜덤한 값을 생성하고 그 값의 % 94 + 33 을 계산해 V3 에 집어넣고 있었다. 사실상 이걸 알아내는건 불가능하다...

[Tenable CTF] Reggie McRegex - MISC / 정규식

정규식과 관련된 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제 제목부터 Regex 를 언급하며 정규식을 사용해야 한다는 것을 알려주고 있다. 문제 설명에는 플래그의 형식에 관한 내용이 적혀있다. 플래그 포맷은 flag{here_is_a_flag} 와 같은 형태이며 중괄호 안에는 알파벳 소문자와 언더바(_) 로 이루어져 있고 최대 길이는 16이라고 한다. 이게 문제에서 주어지는 haystack.txt 파일의 내용이다. 캡쳐본이라 짤려서 그런데 실제로는 훨씬 양이 많다. 이중에서 문제에서 언급한 플래그 포맷을 찾아내야 한다. 맨눈으로 찾는것은 불가능에 가깝기 때문에 정규식을 사용해서 풀어본다. 온라인으로 정규식을 테스트할 수 있는 사이트(http..

CTF/MISC 2023.04.16

[CTFlearn] Music To My Ears - 포렌식 / faad

CTFlearn의 여든 일곱번째 문제 계속해서 Hard 난이도의 문제가 나와서 부담스러워 지기 시작했다. 이번엔 포렌식 문제이다. 문제에서 주어지는 것은 hereisyourflag.m4a 파일이다. 파일을 클릭해서 재생시켜보려 했더니 이런 문구가 떴다. 파일이 온전하지 않은 상태인듯 하다. 일단 HxD로 열어봤다. 아직까진 뭐가 문제인지 모른다. https://www.file-recovery.com/m4a-signature-format.htm MPEG4 Audio Signature Format: M4A,M4B,M4P Documentation and Recovery Examples MPEG-4 Part 14 Audio (M4A,M4B,M4P) Format & Recovery Example M4A is a ..

워게임/CTFlearn 2023.04.15

[Tenable CTF] Funny Sound - 포렌식 / Oscilloscope

WAV 파일과 관련된 스테가노그래피 문제 문제 배점은 낮았는데 풀이 수가 엄청 적었다. 푸는 방법만 알면 쉽게 해결할 수 있는데 문제는 그 방법이 아주 잘 알려지지 않은 방법이었다는것.. 문제에서 주어지는 파일은 flag1.wav 파일이다. 파일을 재생시켜 보면 지이이잉 지이이잉 하는 귀아픈 소리가 들린다. 처음엔 wav 파일이라 기존에 문제 풀었던것 처럼 Audacity 나 DeepSound 도구를 이용해 풀어보려 했다. 하지만 해당 툴들로는 의미있는 결과를 얻을 수가 없었다. https://dood.al/oscilloscope/ https://dood.al/oscilloscope/ Set "Audio Volume" to zero to avoid feedback. Stereo input may not ..

CTF/포렌식 2023.04.14

[CTFlearn] Python Reversal - 프로그래밍

CTFlearn의 여든 여섯번째 문제 지난 문제에 이어서 프로그래밍 카테고리의 Hard 난이도 문제이다. (https://hackingstudypad.tistory.com/469) 이번엔 제공되는 언어가 파이썬이다. import base64 as rtfd import webbrowser import time def mikeSwift(cre): sto = [] gre = "" for i in cre: sto.append(i+str(len(i))) sto.append("h4ck" + i) for i in sto: gre+=i return gre def prompt(): return bytes(input("Welcome to the loading dock. What is the password?\t"), 'u..

워게임/CTFlearn 2023.04.12

[Tenable CTF] Look at all the pixels, where do they all come from - 포렌식 / PIL

PIL 라이브러리를 이용해 풀 수 있는 포렌식 문제 문제 제목이 참 장황하다. 문제 제목에서 pixel 이라는 단어를 통해 간접적으로 힌트를 주고 있다. 문제에서 제공되는 pip.png 파일은 이렇게 생겼다. 369 * 369 사이즈의 노이즈 처럼 생긴 사진이다. 아까 언급한것 처럼 이번 문제는 Python PIL 라이브러리를 이용해서 풀었다. PIL은 Python Imaging Library의 약자로 파이썬으로 이미지 처리를 할 수 있도록 해주는 라이브러리이다. pip install image pip install pillow 두 명령어를 이용해서 다운로드 받아주면 된다. from PIL import Image img = Image.open('pip.png').convert('RGB') xlen = 3..

CTF/포렌식 2023.04.10
반응형