-
[Renewal] webhacking.kr old-26 [100]$ 웹 해킹 $/webhacking.kr 2020. 1. 11. 12:19
소스코드를 확인해 보면 아래와 같습니다.
1. admin을 입력하면 no라는 문자열을 출력하면서 exit()함수를 실행 시킨다.
2. id라는 파라미터 값으로 입력을 하면 urldecode함수를 통해 입력된 URL Encoding 값을 URL Decode를 합니다.
3. 결국 1과 2의 과정을 거친뒤에 id의 값이 admin일 때 Clear가 되는 문제입니다.
그렇다는 것은 ?id=%61%64%6D%69%6E 라고 넣어보면 urldecode 가 자동적으로 URL을 통해 전달이 될때 1번이 되기 때문에 ?id=admin이 되고 1번에 필터링이 되고 아래와 같이 출력이 됩니다.
그렇기 때문에 URL Encode를 2번 해서 ?id=%2561%2564%256D%2569%256E 라고 넣으면 서버로 전달이 될때 ?id=%61%64%6D%69%6E 가 되고 해당 값은 admin이 아니기 때문에 1번 필터링을 지나가고, 2번 과정에서 url decode를 한번 더해서 ?id=admin이 됩니다.
그렇게 되면서 3번째 과정에서 if문에 admin과 admin을 비교해서 참이 되서 Clear가 됩니다.
Clear!!
'$ 웹 해킹 $ > webhacking.kr' 카테고리의 다른 글
[Renewal] webhacking.kr old-28 [500] (0) 2020.01.11 [Renewal] webhacking.kr old-27 [150] (0) 2020.01.11 [Renewal] webhacking.kr old-25 [150] (0) 2020.01.11 [Renewal] webhacking.kr old-24 [100] (0) 2020.01.11 [Renewal] webhacking.kr old-23 [200] (0) 2020.01.10