벽을 쎄게느끼고 AI답변을 본 뒤 현타를 느낀 문제라 기록한다.
생각 흐름
디랙토리 탐색, 원격 쉘 실행을 의도한 문제 같은데
php코드를 1도 몰라서 취약점은 커녕 로직의 절차도 분석 못했다
구현부가 따로 없고 메서드타고 구현체를 찾아들어갈 수 없어 한페이지 안에 들어오는 코드임에도 답이 없었다
코드의 연산자, 변수 네이밍 등으로 알 수 있는걸 최대한 추측했고
직접 브라우저탐색으로 대부분을 추측했다 일단 블랙박스라고 생각하고 vm을 켰다
1. 이미지 업로드가 가능하다
2. 이미지 업로드 후 조회시 xxx.gallery.php에서 이미지를 띄운다

3. 파일 확장자를 대충 검토하는것 같다
코드에는 확장자 검사, 오류반환부가 있지만 우회가능 여지가 있음
4. 20260702112037_5139_asd.png.asd 업로드, 조회가 가능하다
빠갈난 확장자파일 업로드가 가능했고,
그것을 열 때는 gallery.php 페이지를 벗어난다
디랙토리에서 직접 조회해 반환 해주는것 같은데
(문제는 이게 코드상에 구현이 안되어있는데 php를 못읽어서 못찾는건지 php서버 특 인지 모르겠음)
우회하고 여기서 쉘명령어를 실행시키면 되겠다고 생각했다
디랙토리 위치를 볼 수 있고 제공된 코드에서 플래그 파일의 위치를 조회 하려면 뒤로갔다가 플래그 조회 하면 되겠다

하지만 확장자만 바꾼 요청은 거부 되었다


여기서 AI에게 도움을 받아 성공함
파일의 헤더 시그니처를 gif라고 명시해 파일체크를 통과 했다
GIF89a
<?php readfile("../flag.txt"); ?>

공부할 것 : 파일의 형식 식별자
'정보보안' 카테고리의 다른 글
| 드림핵 command-injection-1 44 (0) | 2026.07.07 |
|---|---|
| 드림핵 BypassIF 기록 (0) | 2026.06.25 |
| 메일서비스 개선, 검증 (0) | 2026.05.28 |
| STMP 인증 관련 점검 (0) | 2026.05.27 |
| 시스템 취약점 분석 전후 개념 비교를 위한 기록 (0) | 2026.05.06 |
댓글