# 문제링크 : https://dreamhack.io/wargame/challenges/1113
웹페이지
문제 파일
흠... 코드들을 먼저 살펴보자. index.php랑 flag.php에서는 단서가 될만한 정보는 없었고 check.php에서 단서를 찾아볼 수 있었다.
이 부분을 살펴보면 index1과 index2에 어떤 값을 넣어야 하는지 알 수 있다. 둘 다 맞는 값을 입력하면 flag가 출력되고 아닐시 Good try.나 Try again.이 출력된다.
index1과 index2에 들어가야 하는 값들의 조건은 아래와 같다.
- $input_1의 길이가 4보다 작은지 확인한다.
- $input_1이 "8"보다 작고 "7.A"보다 작으며 "7.9"보다 큰지 확인한다.
- $input_2의 길이가 1보다 크고 3보다 작은지 확인한다.
- $input_2가 74보다 작고 "74"보다 큰지 확인한다.
위 조건을 따르게되면 input1에는 7.: ~ 7.@이 들어갈 수 있고 input2에는 7: ~ ...가 들어갈 수 있다. 아스키 문자가 들어가야 하고 input2의 조건을 보면 숫자 74보다는 작고 문자열 74보다는 커야하기 때문에 다음과 같은 해석이 가능하다.
우선 틀린값을 넣어보자.
실제로 아무값이나 넣어보면 이렇게 뜬다.
이 다음 input1에는 7.:을 넣고 input2에는 7:를 넣어보자.
플래그가 뜨는 걸 볼 수 있다.
문제 해결!
'문제풀이' 카테고리의 다른 글
[Dreamhack] 산타 할아버지도 힘들어요 (0) | 2024.02.27 |
---|---|
[Dreamhack] Basic_Forensics_1 문제풀이 (0) | 2024.02.20 |
[Dreamhack] baby-linux 문제풀이 (0) | 2024.02.20 |
[Dreamhack] xss-1 문제풀이 (0) | 2024.02.06 |
[Dreamhack] phpreg 문제풀이 (1) | 2024.01.30 |