반응형

해킹대회 617

[Space Heroes CTF] A New Hope - 포렌식 / PPT / HxD

작년에 이어 올해도 열린 Space Heroes CTF 재밌는 문제가 많았으나 시간관계상 몇개밖에 풀어보지 못했다. 첫번째는 간단한 포렌식 문제이다. 문제에서 주어지는 것은 A_New_Hope.pptx 파일이다. 해당 ppt 파일을 열어보면 이렇게 생긴 슬라이드 하나만 덩그러니 있다. 그림들을 옆으로 치워봤는데 뒤쪽에 숨겨진 객체가 하나 있었다. 그런데 뭔가 파일이 깨진듯 엑스박스가 떠있었다. ppt 파일은 확장자를 .zip 으로 바꿔주면 일반 zip 파일처럼 압축을 풀어줄 수 있다. 압축을 풀면 이렇게 나온다. 이게 사진파일들이 들어있는 경로를 찾아간다. ppt > media 폴더로 들어가면 찾을 수 있다. image1.png 파일이 아까 봤던것 처럼 썸네일이 나오지 않는걸 볼 수 있다. HxD 로 열..

CTF/포렌식 2023.04.29

[HackingCampCTF] World Wide Web - 웹해킹 / LFI

웹해킹 문제 문제 푸는동안 캡쳐을 제대로 하지 못했다. phpmyadmin 의 취약점과 관련된 문제이다. 첫 부분을 캡쳐를 못했는데 문제페이지에 접속해보면 어떤 사진 하나가 덩그러니 있다. F12를 눌러 개발자 도구를 살펴보면 이미지의 alt 값이 /phpMyAdmin 으로 되어있는데 이걸 통해서 /phpMyAdmin 이라는 경로가 있다는 것을 알아냈다. 주소창에 /phpMyAdmin 을 입력해서 들어가보면 로그인 창이 하나 나오는데 역시나 F12 를 눌러 개발자도구를 확인해보면 id 가 wwwweb, pw 가 wwwweb!@# 인것을 확인할 수 있었다. 아이디, 비밀번호를 입력하면 이렇게 정상적으로 로그인이 된다. phpMyAdmin 의 버전을 확인해보니 4.8.1 이었는데, 해당 버전은 LFI 할 수..

CTF/웹해킹 2023.04.28

[CTFlearn] Riyadh - 리버싱 / IDA / Pwndbg

CTFlearn 의 아흔번째 문제 이번엔 10점짜리 Easy 난이도 리버싱 문제인데 아무래도 배점이 잘못된것 같다. 막 어렵진 않지만 그래도 10점은 아닌듯.. 일단 문제에서 주어지는 것은 readme, Riyadh, source.zip.enc 파일이다. 나머진 필요없고 문제풀때는 Riyadh 파일만 있으면 된다. 바로 IDA 로 열어서 F5를 눌러 main 함수의 수도코드를 살펴보았다. 일단 세가지 정도를 검증하고 있다. argc 가 1인지, buffer 와 v4 가 같은지, strlen 이 30 인지 세 가지를 비교하고 그거에 따라 각각 Msg2, Msg4, Msg5 가 실행된다. Msg 함수는 1 부터 7 까지 있는데 각각의 Msg 함수들을 보면 이렇게 xormask 값과 어떤 값을 XOR 하는것으..

워게임/CTFlearn 2023.04.27

[TJCTF] take-a-l - 리버싱 / IDA

쉬운 난이도의 리버싱 문제 IDA 라는 도구를 이용해 간단하게 해결할 수 있다. 문제에서 주어지는 파일은 chall 바이너리 파일이다. 한번 실행시켜 봤는데 What's your flag? 라는 문구가 출력되고 사용자의 입력을 받는다. test 라고 입력했더니 L 이라고 답이 나왔다. 바로 IDA 를 이용해 바이너리 파일을 열어 F5를 눌러 main 함수의 수도코드를 살펴봤다. 사용자의 입력을 받아 s 에 저장하고 flag 배열에 있는 값과 XOR 연산을 한 뒤 그 값이 18 인지 비교하고 있다. 18이면 W 를, 18이 아니는 L 을 출력한다. 문제 설명에 나와있던 I need W 가 이런 의미인가 보다. flag 배열에는 이런 값이 들어있다. 간단하게 18 이랑 XOR 해주면 된다. CyberChef..

CTF/리버싱 2023.04.26

[HackTheBox] Forest - 포렌식 / Stegsolve / Steghide / Vigenere

Medium 난이도의 포렌식 문제 스테가노그래피와 관련한 문제이다. 문제에서 주어지는 파일은 위와 같다. 가장 먼저 Stegsolve 라는 도구를 사용해봤다. 아래 경로에서 Stegsolve.jar 파일을 다운로드 받을 수 있다. (http://www.caesum.com/handbook/Stegsolve.jar) Stegsolve를 실행시켜서 File - Open으로 이미지를 불러오면 된다. 아래쪽에 있는 버튼을 누르면 이미지의 alpha, blue, green, red, xor 등등 다양한 값을 조정한 형태를 보여주게 된다. 하나씩 넘기다보면 중간에 이렇게 문자열이 보이게 된다. 처음엔 이게 플래그인줄 알았는데 아니었다. steghide 에서 사용하는 passphrase 였다. steghide extr..

[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

[PINGCTF] easy1 - 웹해킹 / dirb / Verb tampering

제목부터 쉬운 웹해킹 문제 풀이를 알고나면 쉬웠는데 막상 풀어보면 막막했던 문제이다. 다들 그랬는지 풀이수도 그렇게 많지 않았다. 문제페이지에 접속하면 보이는 화면이다. Hii :)) 만 출력되고 아무런 기능이 없다. 테스트하기 위해 /aaa 처럼 아무 경로나 입력해 봤는데 404 페이지도 안뜨고 그냥 계속 Hii 만 나온다. dirb 라는 도구를 이용해 가능한 경로들을 Brute Force 해봤다. 그랬더니 /flag 경로가 있다는 것을 알아냈다. 바로 /flag 경로로 접속을 시도해 봤는데 Noo, you didn't get it :( 이라고 출력되었다. get 에서 힌트를 얻었는데 문제 설명에도 보면 Can you GET the 'flag'? :D 라면서 강조하고 있다. 메소드를 조작하면 되는듯 했..

CTF/웹해킹 2023.04.19
반응형