3주차_CTF과제(Dreamhack : php7cmp4re)

2024. 4. 17. 15:53hacking : p_study/Dreamhack

php7cmp4re | 워게임 | Dreamhack

 

php7cmp4re

Description php 7.4로 작성된 페이지입니다. 알맞은 Input 값을 입력하고 플래그를 획득하세요. 플래그 형식은 DH{} 입니다.

dreamhack.io

 

 

CTF 첫번째 문제이다.

php언어로 작성된 문제이고 알맞은 Input값을 통해 flag를 획득하는 문제라는 것을 설명을 통해 확인 할 수 있었다.

 

우선 서버를 생성해보자.

 

 

서버 생성 후 들어와보니 이렇게 input1,2값을 입력하여 제출할 수 있도록 되어있다.

 

 

 test겸 1,2를 입력하여 제출해보았다.

 

 

Try again이라 뜬다. 

url 넘어간걸 확인했을 때, post방식인 것 같고, check.php를보니 코드를 한번 확인해보는 것이 좋겠다.

 

 

제공되는 문제파일을 다운받았다.

 

 

 

확인해보니 php파일이 이렇게 3개 있었고, 난 check.php부터 확인해보았다.

 

 

post 방식이고 input_1과 input_2의 문자열에 대한 정보가 적혀있었다. 

input_1의 길이는 4보다 작고 input_1은  "8"보다 작으면서 "7.A"보다 작으면서 "7.9"보다는 커야한다.

input_2의 길이는 3보다 작고 1보다 크면서 74보다 작고 "74"보다는 커야한다. 

그렇다면 echo$flag 라고 되어있는 걸 보니 flag를 띄워준다는 의미인 것 같다.

이걸 다 조합해보면 input_1의 문자열 길이는 1,2,3중 하나고 "8"보다 작으면서 "7.A"보다 작으면서 동시에 "7.9"보다 커야하고 여기서 저 숫자들은 문자로 표현되어있으니 아스키 코드인 것 같다.

그리고 input_2는 1보다 크고 3보다 작은 문자열이니 2의 길이를 가질 것이고 숫자 74보다는 작으면서 "74"(아스키 코드) 보다는 큰 값을 가질 것이다.

 

이진 번역기 / 변환기 : 이진, 십진, 헥사, 아스키 코드 및 일반 텍스트 | RAKKOTOOLS🔧

 

이진 번역기 / 변환기 : 이진, 십진, 헥사, 아스키 코드 및 일반 텍스트 | RAKKOTOOLS🔧

이진수, 10 진수, 16 진수, ASCII 숫자 및 텍스트 간 변환

ko.rakko.tools

 

아스키 코드 변형을 위해 위의 변환기를 사용했다.

 

 

 

10진수로 바꿔주면, 554657~554665 사이의 값을 바꿔주면 될 것같다. 난 554659을 해보겠다.

 

 

input_1 에는 7.; 값을 넣겠다.

 

이제 input_2에 넣을 값을 찾아보자.

 

 

숫자 74부터 5552까지의 숫자 중에서 하나를 집어넣으면 될 것같다.

그냥 아무 숫자를 넣어봤는데 , 플래그는 안뜨고 Good try란다.

 

 

다른 아스키코드를 넣었어야했나? 싶어서 찾아봤다.

찾아보니까 74~ 5552사이에 아스키코드를 넣어줘야한다는데, 나도 그사이에 어떤 값을 넣은 것 같은데 왜 안된걸까?

이 부분은 조금더 고민이 필요할 것같다.

 

 

이번주차 문제는 둘다 신박했지만, 나름 여차저차 도전해보면서 풀기 좋았던 것 같다.

아직은 갈길이 멀지만 열심히 해야겠다.

끝!

 

 

[ 참고 자료 ]

 

(드림핵)php7cmp4re : 네이버 블로그 (naver.com)

 

(드림핵)php7cmp4re

이런 문제입니다 먼저 제공된 사이트에 들어갔을 때 이런 사이트가 나오고 input1과 input2에 아무 글이나 ...

blog.naver.com