Wargame26 [Dreamhack] pathtraversal Path Traversal 취약점을 이용하여 /api/flag에 있는 플래그를 획득하는 문제이다. userid 를 통해서 출력됨. 코드를 보면, /api 루트 일 때 /user/, /flag 를 리턴한다. userid 칸에는 아무 값 입력 시에 undefined가 뜨게 되므로, fiddler를 통해 변조해주도록 하자. userid=../../../../../../../../api 이렇게 경로를 변조해주고 Response 하면, 코드의 내용처럼 출력되었다. 즉, userid를 통해 경로 조작이 가능하다. 문제에서 /api/flag에 플래그가 위치한다고 했으므로, userid = ../../../../../../../../api/flag 해주면 flag를 획득할 수 있다. 2022. 4. 25. [Dreamhack] php-1 php로 작성된 사이트에서 LFI 취약점을 이용해 플래그를 획득하는 문제이다. LFI(Local File Inclusion) 취약점이란? 웹 브라우저를 통해 서버에 파일을 포함시키는 과정이다. 즉, 공격 대상 서버에 위치한 파일을 포함시켜 읽어오는 공격이다. 이 취약점은 인클루드 시, 페이지 경로가 적절히 필터링되지 않거나 디렉토리 변경 명령어들의 삽입을 허용했을 때 일어난다. 대부분 LFI 취약점은 URL을 통해 이뤄지게 된다. flag.php 파일 클릭 시, Permission denied 문구가 뜬다. 이때, url을 보면, http://host1.dreamhack.games:10625/?page=view&file=../uploads/flag.php 로 표시가 된다. 기본적인 LFI 공격은 위와 같.. 2022. 4. 25. 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. 이전 1 2 3 4 5 다음