Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

HW_chick hacker

babyforms, babysheet - CTF문제 본문

Activity/Hawkis

babyforms, babysheet - CTF문제

{{HW}} 2023. 7. 5. 14:53

- Babyforms

문제 화면

본 문제는 설문을 하여 제출하여도 웹페이지에서 벗어 날수 가 없다.

 

Elements 화면

구글 폼 설문조사 창에서 탈출하지 못하므로 javascript문 작은 forms구조를 확인 해 볼 수 있다.

 

text/javascript script문

- 위 그림처럼 Elements에서 babyforms문제의 flag 값을 찾을 수 있었다.

 


- BabySheet

 

구글 시트

위 문제는 구글 시트에서 flag값을 찾는 문제 이다. A1부분에 'hawkis{????????????????}' 가 출력되어 있다.

A1부분에 REPLACE 함수를 사용하고 있어 먼저 함수에 대해 알아보자!!

 

REPLACE 함수 사용 목적

 

- 문자열의 특정 위치부터 주어진 길이 만큼을 다른문자로 데체함

- 보통 주민번호, 이메일 등을 마스킹 할 때 사용

 

REPLACE 함수 형식

 

 

= REPLACE( 텍스트 , 위치 , 길이 , 대체 텍스트 )

  • 텍스트 : 편집할 문자열이나 이를 저장한 셀의 위치
  • 위치 : 대체할 문자열이 있는 위치
  • 길이 : 대체될 문자의 개수
  • 대체 텍스트 : 원래 문자를 대체한 텍스트

 

IMPORTRANGE

 

- 지정된 스프레드시트에서 셀 범위를 가져옵니다.

 

위 함수들을 활용하기 위해 자세히 봐야하는 부분이 있습니다.

바로 URL인데요!! 제가 푸는데 조금 헤매긴 했는데 다른 구글 스프레드시트의 URL과 이번 BabySheet문제 시트 URL을 비교해 봤을 때 URL은 "URL + 워크시트 이름 + 셀 번호(행 + 열)"으로 되어 있습니다.

 

https://docs.google.com/spreadsheets/d/1zeIMUkkmojRRXWo8LF-eF35Csze3rmukScP25F8gVZI/edit#gid=0

- 위 CTF문제 워크시트 이름은 "1zeIMUkkmojRRXWo8LF-eF35Csze3rmukScP25F8gVZI" 으로 알 수 있습니다.

 

IMPORTRANGE("https://docs.google.com/spreadsheets/d/1PNcq-ekPCPzVnMMulUSIxWYOdixT2xjyzxgr6YldFns/edit","A1"),8,15,REPT("?",30-8)

- 'A1' : A1셀을 가져옴.

- '8' : 8개의 행을 가져옴.

- '15' : 15개의 열을 가져옴.

- 'REPT("?", 30-8)' : "?"를 22번 반복하여 22개의 열을 나타내고 총 30개의 열을 가져옴.

 

- 문제 풀이

이제 문제를 풀어 봅시다.

문제를 풀때 babyforms처럼 Elements 요소를 보면서 script 코드를 처음에 봐봤지만 많은 코드들을 하나하나 보기 너무 많고 IMPORTRANGE함수로 지정된 셀을 가져오기 때문에 DevTools에서 Network의 흐름을 봤습니다.

 

워크시트 이름은 "1zeIMUkkmojRRXWo8LF-eF35Csze3rmukScP25F8gVZI" 으로 필터링을 걸어보며 보았습니다.

Network 페이지

 

Network Fatchdata 응답

- fatchdata

데이터를 가져오는 것을 의미 합니다. 

데이터의 위치, 요청, 응답 등 데이터를 가져오는 일반적인 과정을 볼 수 있습니다.

 

fatchdata를 확인하여 flag값을 찾아 보았을 때 스프레드시트의 요청에 대한 응답값을 확인하여 찾았다.

'Activity > Hawkis' 카테고리의 다른 글

하위 - CTF문제  (0) 2023.07.05
Plz Recovery - CTF문제  (0) 2023.07.05
과유불급 문제 - CTF문제  (0) 2023.06.07
웹 개발 및 SQL Injection - SQL Injection (2)  (0) 2023.02.04
웹 개발 및 SQL Injection - 개발 및 DB연동 (1)  (1) 2023.02.03