본문 바로가기
dreamhack

[Dreamhack] phpreg (Beginner)

by yejin_l 2024. 3. 27.
728x90

Description

php로 작성된 페이지입니다.

알맞은 Nickname과 Password를 입력하면 Step 2로 넘어갈 수 있습니다.

Step 2에서 system() 함수를 이용하여 플래그를 획득하세요.

플래그는 ../dream/flag.txt에 위치합니다.

플래그의 형식은 DH{...} 입니다.

 

풀이

step 1. 접속 정보 사이트로 접속 & 파일 다운로드 후 확인

오.. 뭔가 게임처럼 스텝이 있고 풀어나가는 문제인 것 같다. 그렇다면 닉네임과 패스워드를 찾기 위해 php 파일에서 Nickname과 Password와 관련된 부분을 확인해 보면 될 것 같았다.

if ($name === "dnyang0310" && $pw === "d4y0r50ng+1+13") {

오..근데 이렇게 입력해 보았더니..실패하였다.

 

왜 이런지 검색해 보았더니 코드 부분에 필터링에 의해 nyang는 공백으로 바뀌고, password는 알파벳이 있으면 안 되서 에러가 발생하는 것이라고 한다.

 

그래서 닉네임엔 ' dnynyangang0310 ' 이렇게 적어주면 되고, 

/\d*\@\d {2,3}(31)+[^0-8\"]\!/  정규표현식이 d4y0r50ng로 바뀐다고 해서, 

패스워드에는 결과적으로 ' 0@00319!+1+13'을 적어주면 되는 것 같다.

 

step2에서는 명령을 입력하는 되는 것 같은데 'flag'를 입력하면 오류가 나니까,

cat ../dream/fla*.txt

를 입력해보았다.

 

728x90