일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JS
- 세션
- 과제
- csrf
- cookie 탈취
- MySQL
- cors
- lord of sqli
- 로그인
- sql injection point
- union sql injection
- Los
- css
- 웹개발
- 로그인페이지
- Python
- php
- CTF
- Cross Site Request Forgery
- Reflected Xss
- 모의해킹
- JWT
- file upload
- 게시판 만들기
- 쿠키
- lord of sql injection
- blind sql injection
- XSS
- Error based sql injection
- sql injection
- Today
- Total
Almon Dev
ctf 풀이 (Get Flag File 2) 본문
Get Flag File 2
파일 업로드 취약점을 이용해서 플래그를 찾으면 되는 문제입니다.
풀이
1. 로그인
tester112 / 1234로 회원가입을 한 뒤 로그인합니다.
2. 게시판에 접근 & 파일 업로드해 보기
게시판에서 파일 업로드 기능을 사용해 봅니다.
3. 파일 경로 찾기
다운로드 버튼의 링크를 확인해 보니 download.php를 이용하는 것을 확인했습니다.
지난 문제와 똑같이 주석으로 파일의 경로를 확인할 수 있습니다.
4. 악성 파일 업로드
php 업로드를 시도해 보았으나 alert 창이 뜨면서 실패했습니다.alert 창이 경로가 변경되지 않고 뜨는 것으로 보아 JS를 이용한 확장자 검사로 보입니다.
Burp를 이용해서 서버의 응답을 가로채 JS를 수정하여 브라우저로 전송합니다.
다시 php 파일을 업로드해 봅니다.
이번에는 경로가 변경되고 alert창이 떴습니다. 그렇다면 이건 서버에서 검사를 한 뒤 결과를 출력하는 것으로 클라이언트에서 수정할 수 없습니다.
그렇다면 .htaccess가 업로드가 되는지 확인합니다.
(지난번 문제에서 서버 설정을 덮어씌우기 위해서 사용됐습니다.)
.htaccess 파일 업로드가 성공하고 이제 phP 확장자의 파일도 php 엔진으로 실행하도록 아파치 설정이 변경됩니다.
이제 phP파일을 업로드하고 접근하여 실행되는지 확인합니다.
php 코드가 정상적으로 실행되어 결과가 123이 출력됩니다.
이제 플래그만 찾으면 됩니다.
5. 플래그 찾기
우선 find 명령어를 이용해 flag 파일을 찾아봅니다.
지난 문제에서 flag.txt를 찾았다가 파일이 없었던 것이 기억나 *flag*을 이용해서 flag 단어가 들어간 모든 파일, 폴더를 찾았지만 시스템과 관련된 파일만 나오고 플래그는 보이지 않습니다.
이번에도 grep을 이용해서 flag 단어가 포함된 파일을 찾아야할 것 같습니다.
바로 플래그를 찾았습니다.
끝
'모의해킹 > 모의해킹' 카테고리의 다른 글
인증 / 인가 취약점 정리 (0) | 2025.02.18 |
---|---|
ctf 풀이 (Get Flag File) (0) | 2025.02.17 |
ctf 풀이 (WebShell 3) (0) | 2025.02.17 |
파일 업로드 / 다운로드 취약점 (feat. LFI) (2) | 2025.02.15 |
CSRF 정리 (feat. SOP/CORS) (0) | 2025.01.16 |