Webhacking Writeup g00gle2 문제 입니다.
문제 사이트에 접속해보면
엑셀 스프레드시트가 연결되면서 FLAG가 ????로 나타나 있습니다.
일단 엑셀 함수를 사용한것 같아 함수부터 찾아봐야겠습니다.
함수만 자세히 보면
=REPLACE(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1x7b8Wwp3jJAr6sgEG8RmuZOh-d7gpSmYvH9tmXWDq_c/edit","A1"),6,19,REPT("?",19-6))
일단 함수가 총 3가지로 REPLACE, IMPORTRANGE, REPT인데
어떤함수 인지 부터 보겠습니다.
Relpace 함수는 4가지 인수를 받는데
첫부분은 바꿀 문자열, 두번째는 바꿀 문자 위치 시작지점,
세번째는 바꿀 문자 끝지점, 네번째는 바꾼 후 문자입니다.
Importrange 함수는 인자가 2개로
스프레드시트 URL을 이용해 값을 가져오는 함수 입니다.
두번째 인자는 가져올 위치를 나타내는 군요
이 함수는 스프레드시트에서만 사용되는 것 같더라구요
마지막으로 REPT 함수는 인자가 두개
반복하기 위한 함수이며
첫번째 인자는 반복할 문자
두번째는 반복횟수를 지정합니다.
정리하면
다른 스프레드시트에서 링크를 이용해 A1의 값 FLAG를 가져와서
REPT함수를 이용해 ?로 바꾸는데
?의 갯수는 19-6 즉 13개를 출력하고
마지막 대괄호 } 는 그대로 표시해주는것 같습니다.
여기서 알 수 있는건 우리가 찾아야할 FLAG의 문자열이 몇개든
"?" 13개로 바뀌었기에 길이도 알수 없다는 것이고
스프레드시트 링크를 통해 전송받아 가져온다는 것입니다.
우리가 봐야할 힌트는 링크를 통해 가져온다는 겁니다.
링크를 통해 다른 스프레드시트에서 FLAG를 불러오면
우리가 보고있는 스프레드 시트가 함수를 작동시키고
FLAG를 변형시키니
이전 RPG1 문제처럼
network에서 전송을 하나하나 찾아보면
전송된 파일에서 FLAG가 변형되기 전의 확인이 가능 할 것입니다.
network를 한번 열어보겠습니다.
엄청난 양이 전송되고 읽어오는것 같습니다.
일단 하나씩 열어가며 스프레드시트의 전송부분을 일일히 찾아보았습니다.
그러다가 옆에 스크롤 바가 늘어나더라구요?........
생각해보니 공유된 스프레드 시트는 실시간으로 저장하고 연결하니 늘어나는게 당연합니다.
그래서 어떻게 하나 고민하던중에
지금 이 문제는 RPG1 문제처럼 우리가 파일의 이름을 모르는 것도 아니고
문제에서 스프레드 시트의 정확한 URL을 제시해주었습니다.
해서 Ctrl + F 를 이용해 링크의 일부분으로 검색을 시도해봤습니다.
2개의 결과가 나오네요
먼저 맨위의 것부터
노란부분에 1x7b로 시작하는 값이 있다는 표시로
우리가 찾아야할 값은 FLAG이므로 FLAG를 검색해봤습니다.
변형됬지만 5개의 결과가 있으니 하나씩 보겠습니다.
다 변형되어 있거나 관련없는 부분입니다.
두번째를 보면
한줄밖에 없는데 이 줄에 스프레드시트 링크의 일부값이 있다고 하니
위의 처럼 FLAG로 검색해보면
원하던 변형되기 이전의 FLAG의 값을 찾을 수 있었습니다.
이 FLAG를 Webhacking.kr의 Auth의 전달해주면
문제가 해결되었습니다!
'Wargame(Web) > Webhacking.kr Writeup' 카테고리의 다른 글
Webhacking Writeup 58번 문제 (0) | 2022.08.12 |
---|---|
Webhacking Writeup 5번 문제 (0) | 2022.08.12 |
Webhacking Writeup RPG1문제 (0) | 2022.08.09 |
Webhacking Writeup 33번 문제 (0) | 2022.07.28 |
Webhacking Writeup 38번 문제 (0) | 2022.07.28 |