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