본문 바로가기

Wargame/picoCTF20

Scavenger Hunt 이 사이트에 숨겨진 정보가 있다. 찾을 수 있어? 라는 문제이다. How What 탭에 따라 텍스트가 출력된다. What 탭에서 HTML, CSS, JS 파일을 봐야겠다는 생각이 든다. index 파일에서 picoCTF(t 발견했다. .css 파일에서 두번째 부분 확인했다. .js 파일에서 문구를 발견했다. "구글에서 내 웹사이트를 인덱싱하지 못하도록 하는 방법은 ?" 이라는 문구이다. 즉, 구글에서 내 웹 사이트를 검색하지 못하도록 하면 된다는 뜻이다. 구글 검색 엔진이 페이지를 인덱싱하지 못하도록 하는 방법은 noindex 태그를 포함거나, robots.txt 파일에 액세스하지 못하도록 할 파일을 추가해준다. 즉, robots.txt 파일이 힌트다. flag의 3번째 부분을 획득했다. 밑의 힌트는 아.. 2022. 3. 13.
picobrowser 오직 picobrowser만 렌더링할 수 있다. flag를 찾아라.는 문제이다. flag 버튼 클릭 시, 이 같은 문구가 같이 뜬다 피들러로 봤을 때, User-Agent 에 있는 내용이 출력됨을 확인할 수 있다. 문제에서 picobrowser 일때만 렌더링된다고 쓰여있으므로 User-Agent 헤더부분을 picobrowser로 변경해준다. picobrowser 라는 문구가 뜨고 flag를 획득할 수 있다. 2022. 3. 13.
Cookies 가장 최고를 발견해라. 라는 문제이다. 입력창이 하나 뜬다. placeholder 값으로 적혀있는 snickerdoodle을 입력했을 때, 쿠키 이름을 적었던 것으로 확인된다. 이때의 쿠키값을 살펴보면, 처음 페이지 접속 시, 쿠키값은 name= -1 값을 가지고 있다. snickerdoodle 값 입력 시 name=0 으로 쿠키 값이 변경되었다. 즉, 입력창에 쿠키 이름 입력 시 name의 쿠키값이 변경된다는 것을 알려준다. 예로, name = 3 입력 시, 다른 쿠키 이름이 뜨는 것을 볼 수 있다. 계속해서 쿠키 값 변경하여 name = 18 쿠키값을 가질 때, flag를 획득할 수 있다. 2022. 3. 13.
login 이 사이트에 들어갈 수 없는데, 도와줄 수 있어? 라는 문제이다. 흔히 볼 수 있는 로그인 페이지이다. 개발자 도구에서 index.js 파일을 발견했다. 자세히 보면 username 은 u 를 나타내고, password는 p를 나타낸다. 맨 밑 문구를 보면 flag는 atob(t.p) 함수라고 적혀있다. atob() 함수는 base64로 문자열을 인코딩하는 함수이다. flag를 획득하려면 문자열을 디코딩하면 된다. 바로 윗 문장을 보면 긴 문자열과 다르다면 Incorrect Password 알림창이 뜬다. 즉, 긴 문자열이 password 라는 뜻이다. 이 문자열을 base64 디코딩 해보면, flag를 획득할 수 있다. 2022. 3. 11.
dont-use-client-side super 보안 포털에 들어갈 수 있겠어? 라는 문제이다. verify 버튼 클릭 시, Incorrect passsword 알림창이 뜬다. input 태그는 pass라는 아이디를 갖는다. 개발자 도구로 보면 index 파일에서, checkpass 는 패스워드인 pass를 나타낸다 substring 함수는 문자열을 자르는 함수이다. 그러므로 앞에서 부터 문자열을 나열하면 flag를 획득할 수 있다. 2022. 3. 11.
where are the robots robots를 찾을 수 있겠어? 라는 문제이다. 검은 배경에 문구만 써있는 페이지이다. robots 하면 robots.txt가 떠오른다 robots.txt란 액세스되는 페이지를 제어하는 파일이다. 즉 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약이다. robots.txt 파일은 해당 url/robots.txt 에 나타난다. Disallow: /8028f.html 은 접근을 허용하지 않는다는 뜻이다. 그러면서 해당 파일이 존재함을 나타내기도 한다. flag를 획득할 수 있다. 2022. 3. 11.