ㅇㅂㅇ

문제를 보니 picobrowser로 플래그를 찾을 수 있다고 한다. 찾아보자.

 

ㅇㅂㅇ

플래그 버튼을 누르니 picobrowser가 아니라고 한다.

 

burp suite를 사용해 picobrowser로 접속을 해보자.

 

User-Agent

User-Agent를 picobrowser로 바꿔 주면 될 것 같다.

 

바꿔서 계속 Request를 보내보자.

 

ㅇㅂㅇ
플래그당
ㅇㅂㅇ

플래그가 나왔다.

 

플래그는 picoCTF{p1c0_s3cr3t_ag3nt_e9b160d0} 이다.

'PicoCTF > WriteUp' 카테고리의 다른 글

[c0rrupt] - 250p  (0) 2020.12.01
[vault-door-3] - 200p  (0) 2020.12.01
[plumbing] - 200p  (0) 2020.12.01
[Based] - 200p  (0) 2020.12.01
[So Meta] - 150p  (0) 2020.12.01

ㅇㅂㅇ

문제를 보니 프로그램 출력을 유지하고 플래그를 검색하라고 한다.

 

힌트에는 파이프를 사용하라고 한다.

 

먼저 실행해보자.

 

netcat

nc로 접속해보니 이상한 것들이 출력된다.

 

파이프로 플래그를 골라내보자.

 

grep

플래그가 나왔다.

 

플래그는 picoCTF{digital_plumb3r_06e9d954} 이다.

'PicoCTF > WriteUp' 카테고리의 다른 글

[vault-door-3] - 200p  (0) 2020.12.01
[picobrowser] - 200p  (0) 2020.12.01
[Based] - 200p  (0) 2020.12.01
[So Meta] - 150p  (0) 2020.12.01
[extensions] - 150p  (0) 2020.11.30

ㅇㅂㅇ

문제를 보니 2진수 또는 16진수를 데이터 인코딩을 이해하라고 한다. 주소에 접속해보자.

 

ㅇㅂㅇ

45초 안에 2진수를 단어로 변환하라는 것 같다.

 

python 코드를 짜서 변환해보자.

 

import sys

for i in "01101110 01110101 01110010 01110011 01100101".split(" "):
  sys.stdout.write(chr(int(i,2)))

 

실행을 해주자.

 

nurse이 나왔다.

 

ㅇㅂㅇ

이번엔 8진수인 것 같다. 마찬가지로 python 코드로 변환해주자.

 

import sys

for i in "154 141 155 160".split(" "):
  sys.stdout.write(chr(int(i,8)))

 

lamp가 나왔다.

 

ㅇㅂㅇ

16진수를 변환 해주자.

 

import sys

for i in "6c 61 6d 70".split(" "):
  sys.stdout.write(chr(int(i,16)))

 

lamp가 나왔다. 입력해주자.

 

ㅇㅂㅇ

플래그가 나왔다.

 

플래그는 picoCTF{learning_about_converting_values_00a975ff} 이다.

'PicoCTF > WriteUp' 카테고리의 다른 글

[picobrowser] - 200p  (0) 2020.12.01
[plumbing] - 200p  (0) 2020.12.01
[So Meta] - 150p  (0) 2020.12.01
[extensions] - 150p  (0) 2020.11.30
[shark on wire 1] - 150p  (0) 2020.11.30

ㅇㅂㅇ

문제를 보니 그림에서 플래그를 찾으라고 한다. 한번 찾아보자.

 

ㅇㅂㅇ

아무것도 모르겠으니 Hxd로 열어보자.

 

ㅇㅂㅇ
ㅇㅂㅇ

Header Signature와 Footer Signature가 맞는지 확인 해보니 footer쪽에 플래그가 있었다.

 

나는 이 문제를 풀 때 이 방법으로 플래그를 찾았지만 다른 Writeup을 보니 다른 풀이가 있었다.

 

그 풀이를 한번 해보자.

 

Ubuntu 18.04
exiftool

wget 으로 문제의 png 파일을 다운받고 exiftool 패키지도 설치해준다.

 

exiftool은 이미지, 오디오, 비디오등의 메타 데이터를 조작하기 위해 만들어진 툴이다. 사용해보자.

 

플래그를 찾았다.

 

플래그는 picoCTF{s0_m3ta_fec06741} 이다.

'PicoCTF > WriteUp' 카테고리의 다른 글

[plumbing] - 200p  (0) 2020.12.01
[Based] - 200p  (0) 2020.12.01
[extensions] - 150p  (0) 2020.11.30
[shark on wire 1] - 150p  (0) 2020.11.30
[What Lies Within] - 150p  (0) 2020.11.30

ㅇㅂㅇ

문제를 보니 TXT 파일에서 플래그를 찾으라고 한다. 다운로드 받아보자.

 

ㅇㅂㅇ

아무것도 모르겠다. 그럼 HxD로 열어보자.

 

헤더가 PNG이다.

열어보니 헤더 부분이 PNG로 되어있다. 확장자를 PNG로 바꿔보자.

 

ㅇㅂㅇ

이상 없이 잘 열린다.

 

플래그는 picoCTF{now_you_know_about_extensions} 이다.

'PicoCTF > WriteUp' 카테고리의 다른 글

[Based] - 200p  (0) 2020.12.01
[So Meta] - 150p  (0) 2020.12.01
[shark on wire 1] - 150p  (0) 2020.11.30
[What Lies Within] - 150p  (0) 2020.11.30
[vault-door-1] - 100p  (0) 2020.11.30

ㅇㅂㅇ

제목은 와이어샤크를 뜻하는 것 같다. 문제는 패킷 캡처에서 플래그를 찾으라고 한다. 찾아보자.

 

와이어샤크로 패킷 캡처를 열어보자.

 

웅?

일단 udp 골라보자.

 

ㅇㅂㅇ

아무 패킷이나 잡고 UDP Stream을 확인 해보자.

 

ㅇㅂㅇ
ㅇㅂㅇ

빨간 부분의 스트림 값을 조절해가며 플래그를 찾아보자.

 

플래그다.

Stream 값이 6일 때 플래그가 나왔다.

 

플래그는 picoCTF{StaT31355_636f6e6e} 이다.

'PicoCTF > WriteUp' 카테고리의 다른 글

[So Meta] - 150p  (0) 2020.12.01
[extensions] - 150p  (0) 2020.11.30
[What Lies Within] - 150p  (0) 2020.11.30
[vault-door-1] - 100p  (0) 2020.11.30
[caesar] - 100p  (0) 2020.11.30

ㅇㅂㅇ

카테고리는 Forensics 이고, 문제를 보니 건물에 플래그가 있다는 것 같다. 다운로드 해보자.

 

이쁘당.

그냥 보기엔 플래그는 보이지 않는다.

 

스테가노그래피 기법이 쓰인 것 같다.

 

스테가노그래피 온라인 디코더 사이트를 이용하자.

 

플래그가 나왔다.

 

플래그는 picoCTF{h1d1ng_1n_th3_b1t5} 이다.

'PicoCTF > WriteUp' 카테고리의 다른 글

[extensions] - 150p  (0) 2020.11.30
[shark on wire 1] - 150p  (0) 2020.11.30
[vault-door-1] - 100p  (0) 2020.11.30
[caesar] - 100p  (0) 2020.11.30
[Bases] - 100p  (0) 2020.11.30

ㅇㅂㅇ

금고문 문제가 하나 더 나왔다.

 

문제를 보니 복잡한 배열을 사용한 소스 코드를 분석하라고 한다. 다운로드 받고 해보자.

 

import java.util.*;

class VaultDoor1 {
    public static void main(String args[]) {
        VaultDoor1 vaultDoor = new VaultDoor1();
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter vault password: ");
	String userInput = scanner.next();
	String input = userInput.substring("picoCTF{".length(),userInput.length()-1);
	if (vaultDoor.checkPassword(input)) {
	    System.out.println("Access granted.");
	} else {
	    System.out.println("Access denied!");
	}
    }

    // I came up with a more secure way to check the password without putting
    // the password itself in the source code. I think this is going to be
    // UNHACKABLE!! I hope Dr. Evil agrees...
    //
    // -Minion #8728
    public boolean checkPassword(String password) {
        return password.length() == 32 &&
               password.charAt(0)  == 'd' &&
               password.charAt(29) == '3' &&
               password.charAt(4)  == 'r' &&
               password.charAt(2)  == '5' &&
               password.charAt(23) == 'r' &&
               password.charAt(3)  == 'c' &&
               password.charAt(17) == '4' &&
               password.charAt(1)  == '3' &&
               password.charAt(7)  == 'b' &&
               password.charAt(10) == '_' &&
               password.charAt(5)  == '4' &&
               password.charAt(9)  == '3' &&
               password.charAt(11) == 't' &&
               password.charAt(15) == 'c' &&
               password.charAt(8)  == 'l' &&
               password.charAt(12) == 'H' &&
               password.charAt(20) == 'c' &&
               password.charAt(14) == '_' &&
               password.charAt(6)  == 'm' &&
               password.charAt(24) == '5' &&
               password.charAt(18) == 'r' &&
               password.charAt(13) == '3' &&
               password.charAt(19) == '4' &&
               password.charAt(21) == 'T' &&
               password.charAt(16) == 'H' &&
               password.charAt(27) == 'f' &&
               password.charAt(30) == 'b' &&
               password.charAt(25) == '_' &&
               password.charAt(22) == '3' &&
               password.charAt(28) == '6' &&
               password.charAt(26) == 'f' &&
               password.charAt(31) == '0';
    }
}

코드를 보니 입력받은 패스워드를 검사하는 함수에서 취약점이 존재한다. 순서대로 나열해보자.

 

d35cr4mbl3_tH3_cH4r4cT3r5_03f841 플래그인 듯하다.

 

플래그는 picoCTF{d35cr4mbl3_tH3_cH4r4cT3r5_03f841} 이다.

 

 

 

'PicoCTF > WriteUp' 카테고리의 다른 글

[shark on wire 1] - 150p  (0) 2020.11.30
[What Lies Within] - 150p  (0) 2020.11.30
[caesar] - 100p  (0) 2020.11.30
[Bases] - 100p  (0) 2020.11.30
[logon] - 100p  (0) 2020.11.30

+ Recent posts