Web/Webhacking

Webhacking - challenge(old) 26번

dalgorithm 2021. 9. 25. 19:37
728x90

26번을 누르니 view-source 말고 아무것도 보이지 않았다.

 

재빠르게 눌러보자 

 

 

굵고 짧은 소스코드를 볼 수 있었다.

이 문제 역시 php 태그 안을 살펴보아야 할 것 같다.

 

get방식의 id 값에 admin이 있다면 no! 를 출력하고 종료한다.

얻어낸 id 값을 url 디코딩하여 다시 id 값에 저장한다.

 

재저장한 id 값이 admin이라면

solve(26) 명령어를 실행하여 문제를 해결할 수 있다.

 

/admin/으르 어떤식으로 찾아야하나 막막했다.

admin을 디코딩한 값을 다시 넣어 그 값이 admin이면

문제가 풀리기 때문에 admin을 url 인코딩해 id 값에 넣는다면 해당 문제를 해결할 수 있을 것 같았다.

 

 

admin은 url 코드로 %61%64%6d%69%6e인 것을 확인했으니 get방식을 통해

전달해서 문제를 해결해야한다.

 

 

preg_match 함수가 urldecode 앞쪽에 있었는데 위의 값을 입력하니 no! 가 출력되었다.

여기서 어떻게 해결해야할지 모르겠어서 찾아보니

웹서버와 브라우저 사이에 데이터 교환시, 브라우저는 폼에서 입력받은 데이터를 자동으로

인코딩한 값을 php 서버로 보내고 php는 받은 인코딩값을 자동으로 디코딩한다.

 

따라서 %61%64%6d%69%6e 을 다시한번 인코딩 하면 될 것 같다.

%2561%2564%256d%2569%256e

 

해당 값으로 다시 한번 get 방식을 이용해 전달해주었다.

 

 

728x90