Base64 based

EmptyWind·2025년 2월 9일

🚩 문제 설명


Read flag.php to get the flag.


🚀 문제 풀이


  1. 해당 문제는 Dreamhack Invitational 2025 Quals CTF 대회에서 나온 문제로
    flag.php 파일을 읽어 flag 값을 획득하면 된다.
    주어진 URL로 접근하면 다음과 같은 화면이 나오는데 특정 기능이 별도로 있지는 않다.

  2. 웹 페이지에서는 알 수 있는 정보가 제한되어 있어 제공된 소스코드 증 index.php 파일을 먼저 살펴보면, GET method를 통해 file 매개변수를 입력 받고 이를 Base64로 인코딩하여 파일명을 검증하고 있다.

  3. Base64의 경우 문자열을 3바이트(24비트) 단위로 읽고 6비트씩 나누어 총 4개의 블록으로 만든 후, 각 6비트 블록을 Base64 인코딩 테이블에서 대응되는 문자로 변환하므로, 문자열의 길이를 조금 달리하여 필터링을 우회하는 방식으로 진행하면 flag 획득이 가능하다.

[flag] : DH{We1c0me_t0_Ba5e64:92xIeUI2klplXuoXsvba+Q==}


✅ 참고


Base64 EncodePlain Text
Li4v../
ZmxhZ, aHA=flag.php 중 일부

※필터링 하는 Base64 값에 대한 평문 값

profile
Pentester

0개의 댓글