본문 바로가기

Wargame/picoCTF20

SQL Direct PostgreSQL 서버에서 flag를 찾아라! 는 문제이다. PostgreSQL 에서 \dt 명령어로 DB의 테이블을 출력해본다. flags의 테이블이 출력된다. \d+테이블명 명령어로 테이블 구조를 조회해본다. 4가지의 컬럼들이 조회가 된다. SELECT 명령어로 각 컬럼의 내용들을 조회해보면 address 컬럼의 내용에서 flag를 획득할 수 있다. SELECT 로 조회 시, select (컬럼) from (Schema.tables); 로 해야한다. 2022. 3. 26.
SQLiLite 웹사이트에 로그인 할 수 있는가?.는 문제이다. 사이트는 로그인페이지 이다. 힌트에서 ID가 admin 인 것을 확인하고 기본적인 SQL Injection 구문을 입력해보면, password 부분이 주석처리 되어 로그인에 성공하였다. flag 는 소스 코드를 보면 p 태그에서 획득할 수 있다. picoCTF{L00k5_l1k3_y0u_solv3d_it_147ec287} 2022. 3. 26.
Secrets 몇몇 페이지가 숨겨져있다. flag를 찾을 수 있어? 라는 문제이다. Home 탭 화면이다. About 탭 화면이다. Contact 탭 화면이다. 각 탭의 코드를 보면 모두 /secret/assets 폴더가 존재한다. /secret/assets/ 로 접속해보면 403 에러가 뜬다. /secret/ 으로 접속 시엔, 또 다른 페이지가 뜬 것을 확인할 수 있다. 코드를 보면 secret 폴더 밑에 또 다른 /hidden/ 폴더를 발견했다. /secret/hidden/ 으로 접속해보면 로그인 화면이 뜬다. 코드를 보면 superhidden 폴더가 또 생긴 것을 볼 수 있다. /secret/hidden/superhidden/ 으로 접속하면 마지막 문구가 쓰인 화면이 뜨고, 소스 코드를 보면, flag를 획득할 .. 2022. 3. 25.
Roboto Sans 이 플래그는 이 웹 어플리케이션의 어딘가에 있다. 웹 사이트에는 없습니다. 찾아보세요 라는 문제이다. 웹 사이트를 보면 요가 관련 페이지이다. 웹 사이트에는 없으니 /robots.txt 파일이 있는지 확인해본다. Disallow 외에 인코딩된 것 같은 문자열들이 나열되어 있다. Base64로 디코딩 해보면, 뒷부분이 깨져서 출력된다. 문자열들을 보면 겹쳐지는 부분이 있다. 이 부분을 빼고 다시 디코딩 해보면, js/myfile.txt 가 출력된다. 다시 첫 화면을 보면 js 폴더가 있는 것을 볼 수 있다. /js/myfile.txt에 flag가 있는 것을 알고 flag를 획득할 수 있다. picoCTF{Who_D03sN7_L1k5_90B0T5_87ccf72a} 2022. 3. 25.
Power Cookie 쿠키를 수정하면서 flag를 찾을 수 있냐는 문제이다. 페이지를 보면 Continue as guest 버튼만 있다. 버튼 클릭 시, guest 에게는 서비스가 되지 않는다는 문구만 뜬다. 개발자 도구에서 guest.js 파일을 보면 /check.php 에서 isAdmin=0 의 쿠키값을 가진다. 코드에 있는 것 처럼 isAdmin=0 의 값을 가지고 있고, isAdmin=1 로 쿠키값을 변조한다. /check.php 에서 flag를 획득할 수 있다. picoCTF{gr4d3_A_c00k13_87608ba8} 2022. 3. 25.
Forbidden Paths 웹 사이트 파일은 /usr/share/nginx/html/ 에 있으며 플래그는 /flag.txt에 위치한다. 그러나 웹 사이트는 절대 파일 경로를 필터링 하고 있다. 필터를 통과하여 flag를 읽을 수 있는가? 하는 문제이다. 페이지를 보면 .txt 파일을 Read하면 읽을 수 있는 페이지 인 것 같다. 예시로 되어 있는 3개의 텍스트 파일 중에 하나를 골라서 보면, 테스트 파일의 내용이 그대로 보여진다. Read 버튼을 눌렀을 때의 Request 값을 보면, POST 방식으로 전달하고, filename과 read 파라미터 값으로 전달하는 것을 확인할 수 있다. filename은 텍스트 파일의 이름을, read 는 확인해본다. 문제에서 텍스트 파일들은 /usr/share/nginx/html 에 위치한다고.. 2022. 3. 25.