Game/webhacking.kr

[100] prob26

ellen28 2015. 5. 16. 15:20

26번문제 마찬가지로 100점짜리이다.

그저 까만화면에 index.phps만을 띄워주고있는데, 

소스를 확인해보면 get방식으로 id를 받아서 url decode하여 그 값이 admin일경우 문제가 풀리는데, 

admin을 아스키 코드표를 이용하여 url encoding하면( 아스키 코드 표를 참고하며 앞에 %를 붙임 )

%61%64%6d%69%6e가되는데 이값을 id로 넘겨주면 

바로 id에 admin을 세팅해주었을때와 동일하게 id가 admin으로 넘어가게되는데

그 이유는 소스에서 원래 id를 넘길때 한번 url decoding을 거쳐서 넘어가고,(이 과정에서 decode된 문자열이 admin인지 확인한다.)

넘어간 값이 admin이 아닐경우 다시한번 url decode해서 확인하므로

넘겨주는 id값을 두번 인코딩해서 보내주면 된다. 


처음 인코딩한값은 

%61%64%6d%69%6e

이를 또다시 인코딩하면 %는 아스키 값으로 25이므로 

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

처럼 두번 인코딩 할 수 있다. 

두번 인코딩한 값을 url 에 http://webhacking.kr/challenge/web/web-11/?id=에 덧붙여서 보내주면

26번 문제도 클리어!