풀이일 : 2023/05/24
일단 접속 정보로 접속 해본다. 리눅스 터미널로 보이는 화면이 나온다.
ls 명령어를 쳐보자.
관심을 끄는 hint.txt라는 텍스트 파일이 존재한다. cat 명령어를 이용하여 해당 파일을 읽어보자.
-> flag의 위치를 알려주고 있다!! flag는 ./dream/hack/hello 아래에 있으므로 flag.txt의 전체 경로는 ./dream/hack/hello/flag.txt 일 것이다.
cat 명령어를 이용하여 flag.txt를 읽어보자.
No!가 출력된다. 필터링이 있는지 문제 소스코드를 살펴보자.
cmd에 'flag'가 존재하는 경우 "No!"가 출력되도록 필터링이 되어 있는 것을 확인할 수 있다. 정규 표현식을 이용하여 이를 우회해보자.
정규 표현식에서 *는 앞의 문자들이 0번 또는 그 이상 반복된다는 것을 의미한다. 따라서 다음과 같은 명령어를 이용하여 필터링을 우회해 보자.
cat ./dream/hack/hello/fl*g.txt
플래그를 획득하였다!
플래그는 DH{671ce26c70829e716fae26c7c71a33823feb479f2562891f64605bf68f60ae54}