HW_chick hacker
CTF 정규화 문제 - dreamhack 본문
- 드림핵 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 |
|---|