본문 바로가기
대회_프로젝트

[대회] PICO_2019 write up

by merona99 2019. 11. 6.
반응형

PICO_2019 write up

 

[General Skills]

Lets Warm Up - Points: 50

 

문제)

If I told you a word started with 0x70 in hexadecimal, what would it start with in ASCII?

 

헥스 값 0x70을 ASCII 코드로 바꾸면 되는 문제

아스키코드표를 보면 0x70은 문자 'p'임

 

답: picoCTF{p}

 

 

 

[General Skills]

Based - Points: 200

 

문제)

To get truly 1337, you must understand different data encodings, such as hexadecimal or binary. Can you get the flag from this program to prove you are on the way to becoming 1337? Connect with nc 2019shell1.picoctf.com 28758.

 

이 문제는 0과1로 되어있는 바이너리 파일을 가지고 문자로 변환하는 문제이다.

아스키코드 표를 통해서 바이너리 값을 8진수 16진수 등 으로 변환한후 해당하는 문자를 입력하면 된다.

시간제한이 있어서 빠르게 입력해야한다.

3문제를 풀게되면 플래그 값이 뜬다.

 

답: picoCTF{learning_about_converting_values_4b4e293e}

 

 

 

[General Skills]

Bases - Points: 100

 

문제)

What does this bDNhcm5fdGgzX3IwcDM1 mean? I think it has something to do with bases.

 

웹은 기본적으로 base64를 통해 인코딩을 한다.

바로 base64를 키고 bDNhcm5fdGgzX3IwcDM1를 디코딩 해보았더니

l3arn_th3_r0p35가 나왔다. 이게 답이다.

 

답: picoCTF{l3arn_th3_r0p35}

 

 

 

[Web]

dont-use-client-side - Points: 100

 

문제)

Can you break into this super secure portal? https://2019shell1.picoctf.com/problem/12280/ (link) or http://2019shell1.picoctf.com:12280

 

 

들어가면 이 화면이 보임

verify를 누르면 뜨는 알림창

페이지 소스보기

유의깊게 봐야 할 부분은 function verify() 함수 부분이다.

소스를 해석해보면 대충 verify() 함수 부분을 해결해서 나온 답이 패스워드가 되는 것으로 보인다.

문자열.substring() = 문자열에서 특정 부분만 골라낼 때 사용하는 메서드

substring(f_index, l_index) 는 f_index 인덱스 위치부터 l_index-1 부분의 인덱스 위치까지를 의미한다.

13번째 줄을 보면 substring(0, split)     // split =4

부분은 0~3까지를 가르키고 이에 'pico'라는 문자열을 넣는게 보인다.

순서대로 퍼즐을 맞춰보면 verify값이 나오고 이를 입력하면 플레그값이 뜬다.

 

답: picoCTF{no_clients_plz_247e73}

반응형

'대회_프로젝트' 카테고리의 다른 글

[조선대] 2021 IT Festival  (0) 2021.12.28
[해커톤] 제7회 대한민국 SW융합 해커톤  (0) 2020.12.26

댓글