Notice
Recent Posts
Recent Comments
Link
«   2025/12   »
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
Archives
Today
Total
관리 메뉴

HW_chick hacker

CTF 정규화 문제 - dreamhack 본문

Activity/DreamHack

CTF 정규화 문제 - dreamhack

{{HW}} 2023. 4. 23. 00:28

- 드림핵 CTF 문제 풀이

A. ex-reg-ex

D. baby-linux

 

- 문제풀이 전 개념

두 문제를 공통적으로 정규 표현식을 이용하여 문제를 풀이하였음.

 

- 정규 표현식

특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어이다.

패턴으로 부르는 정규 표현식은 특정 목적을 위해 필요한 집합을 지정하기 위해 쓰인다.

 

1. ex-reg-ex

문제 파일을 확인 해 볼때 "dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+"   정규화로 표현하여 입력하면 flag값을 준다는 내용이다.

 

dr = 문자 dr

\w{5,7} = 문자, 숫자, 밑줄을 5~7글자 표현

e = 문자 e

\d+ = 숫자 ( 0~9)가 1개 이상

am@ = 문자 am@

[a--z]{3,7} = a~z까지 의 알파벳 3글자에서 7글자 표현

. = 문자 .

\w+ = 모든 단어 문자(영숫자 및 밑줄) 1개 이상

 

조건에 맞는 문자를 제작하여 답안에 삽입 하였다. -> ex) draaaaae1am@abcdefg.com

문제는 10분정도 걸렸으며 난이도는 쉬움이다.

 

2) baby linux

문제 답안에 'flag'라는 문자가 들어가면 'NO!'라고 표현되어 막힌다.

 

리눅스 문제인거 같아 먼저 목록들을 확인하기 위해 'ls -al' 입력하였다.

보기 쉽게 메모장 정리

 

그중 눈이 뛰는 hint.txt 파일을 cat명령어로 이용하여 확인해 보겠다.

Flag는 ./dream/hackhello 경로에 있다고 나옵니다.

그경로에 flag.txt 존재하나 flag값을 넣으면 필터가 걸려 원하는 답을 얻을 수가 없다.

 

cat ./dream/hack/hello*txt를 입력 할 시 경로에 있는 txt파일을 보여주지만 정규화를 이용하여 또 다르게 문제를 접근할수 있다.

 

grep -rn "^DH" 를 입력하면 원하는 flag값을 얻을수 있다.

"^DH"는 검색하는 내용에 DH로 시작하는 내용을 검색해준다는 것이며 위 사진과 같이 DH를 앞 문자열에 사용하는 파일은 flag.txt 파일 뿐이다.

이 문제는 접근하는 방식을 잘못하여 2~3시간 소요됬으며 삽질 했다.

'Activity > DreamHack' 카테고리의 다른 글

batch Checker - 드림핵  (0) 2024.01.05