View-source 라는 링크만 있어서 일단 코드를 확인하였다. 코드에서 중요한 부분만 가져왔는데, id의 값이 URL 디코딩 후 admin이면 Flag를 획득하는 조건이 있었다. 나는 admin을 이중 URL 인코딩하여 id에 넣어줄 것이다. 이중 URL 인코딩을 하는 이유는 PHP는 넘겨받은 값을 URL 디코딩을 하기 때문에 한번만 인코딩을 하면 PHP는 자동으로 디코딩을 하여 원래의 값으로 쓰기 때문이다. 문제에서 요구하는 건 URL 인코딩된 admin이기 때문에 이를 반영하기 위해 이중 URL 인코딩을 하였다. ?id=%25%36%31%25%36%34%25%36%64%25%36%39%25%36%65를 페이지 URL 뒤에 넣고 서버에 보내니, Flag를 획득할 수 있었다.
이 글이 도움이 되었다면, 응원의 댓글 부탁드립니다.
TOP