https://dreamhack.io/wargame/challenges/873
문제에 들어가서 소스코드를 보기 전에 aa bb로 쳐봤다.
패스워드에 알파벳이 들어가면 안되나보다.
파일을 열어봤다.
index 파일에서는 마땅한 단서를 얻지 못했다.
pw filtering에서 아이디와 패스워드를 구할 수 있었다.
name을 보면 nyang 뒤에 i가 붙어있는데 이는 대소문자를 구분하지 않고 nyang 문자를 빈문자열로 인식한다.
내가 얻고 싶은 값은 dnyang0310이므로
nyang 문자열 사이에 해당 문자를 한번 더 집어넣어 입력해야 한다.
나는 dnyanyangng0310 이 값을 넣었다.
아까 분명 패스워드에 알파벳이 들어가면 안되는걸 알았는데 패스워드에 알파벳이 있다.
알파벳을 숫자로 치환해야 할 것 같다만.... 방법을 모르겠어서 구글링을 통해 해결했다.
- \d: 0에서 9까지의 범위의 한 자리 숫자를 의미한다.
*는 문자 또는 숫자가 0개 이상 나타나는 것을 의미한다.
-> 따라서 0~9 사이의 숫자가 0개 이상 나타나야 한다. - \@: @ 문자를 매치.
- \d{2,3}: {2, 3}은 앞에 작성한 표현을 2~3회 반복하라는 의미한다.
-> 0~9 사이의 숫자 2~3회 후에 31을 쓰면 된다. - (31)+: 31 문자열이 한번 이상 반복.
- [^0-8]: 0부터 8까지의 숫자를 제외한 문자를 매치.
- \!: ! 문자를 매치.
최종적으로 123@12319!+1+13 이런 값이 나온다.
스텝1을 넘겼다.
문제에서 플래그는 ../dream/flag.txt 여기에 있다고 하는데
cmd 필터링쪽을 보면 flag를 쳤을 때 에러가 뜬다.
따라서 fla*로 바꿔서 쳤다.
파일 확인 명령어는 cat이다.
cat ../dream/fla*.txt
성공이다!
'드림핵' 카테고리의 다른 글
드림핵 🌱 simple-web-request (0) | 2024.05.15 |
---|---|
드림핵 pathtraversal (0) | 2024.05.15 |
드림핵 850번 Flying Chars (0) | 2024.05.01 |
드림핵 267번 devtools-sources (0) | 2024.04.03 |
드림핵 96번 carve party (0) | 2024.04.03 |