본문 바로가기

[Wargame.kr] 3. flee button 450점에 해당하는 Web 문제이다. 난이도의 경우에도 이전의 두 문제와 거의 비슷한 난이도이다. 여기서는 Javascript와 HTML에 대한 기초적인 지식만 있으면 풀 수 있는 문제이다. 문제 링크 문제 사이트에 접속하면 아래와 같이 메시지 박스와 버튼이 뜨는 것을 볼 수 있다. 메시지 박스의 내용을 대충 해석하면, 버튼을 누르면 인증키를 얻을 수 있다는 의미이다. 그래서 버튼을 클릭하기 위해서 마우스를 버튼쪽으로 가져가니 버튼이 마우스로부터 계속 멀어지는 것을 확인할 수 있었다. 즉 이것을 통해 Javascript를 이용해서 버튼과 마우스 사이의 거리를 측정한 다음 어느 거리 이하가 되었을 때 마우스로부터 멀어지도록 하는 함수가 구현되어 있다고 추측이 가능하다. 문제에서 버튼을 누리기만 하면 된다고..
Interpark 가격정보 가져오기 보호되어 있는 글입니다.
[Wargame.kr] 2. QR CODE PUZZLE 300점에 해당하는 Web 문제이다.이 문제의 경우에도 1번과 마찬가지로 매우 쉬운 문제라고 볼 수 있다. 문제 링크 문제 사이트에 접속하면 아래와 같은 6X6 퍼즐을 볼 수 있다. 그리고 퍼즐의 조각을 누르게 되면, 퍼즐이 움직이는 것을 확인할 수 있다. QR code의 경우에는 중간에 누락된 부분이 없이 정사각형으로 모든 데이터가 존재해야만 인식이 가능하다. 그렇기 때문에 이 퍼즐을 다 맞춘다고 하더라도 인식이 불가능하다는 것을 의미한다. 그렇기 때문에 퍼즐을 다 맞추고 나면, 원본 이미지를 가져오는 부분이 존재를 해야한다. 그래서 이 원본 QR code 이미지를 가져오는 부분이 있는지 확인하기 위해서 Chrome의 개발자도구에서 Network탭으로 가서 확인을 해보았다. 마지막 부분을 보면 qr.p..
제한 시간이 있는 url 생성하기 일반적인 url의 경우에는 언제나 접속을 하면 그 데이터가 사라지지 않는 한 계속 열람이 가능하다. 그리고 어떤 데이터에 대해서는 일정 시간이 지나면 접근이 안되게 하고 싶은 내용이 있을 것이다. 예를 들면 만화 서비스가 있겠다. 만화 서비스의 경우에 일정 시간 동안에는 잠시 무료로 볼 수 있게 하였다가 그 시간이 지난 이후에는 무료에서 유료로 전환하는 서비스를 구축한다면 이럴 수 있겠다.예를 들면 레진코믹스에서 만화 이미지를 제공하는 방법이 있다. 만화 이미지의 url을 보면 뒤에 access_token을 이용해서 이 토큰을 기준으로 해서 만화를 구입한 사람인지 여부를 확인하여 유효하지 않은 토큰인 경우에는 에러메시지를 보여주는 방법이다. 일정 시간이 지나면 접속이 안되게 하는 url을 만드는 방법은 ..
Interpark 도서 정보 한 번에 가져오기 인터파크 도서의 경우, http://book.interpark.com/blog/bookpinion/bookpinionOpenAPIInfo.rdo에서 Open API 탭을 클릭했을 때 나오는 방법을 통해서 공식적으로 도서 검색 API를 제공하고, 하루에 10000개씩의 요청을 할 수 있다고 링크에서 확인할 수 있다. 그러나 어떤 오류인지는 모르겠지만, 이 요청 횟수가 하루마다 초기화가 되지 않고 계속 누적이 되는 문제가 발생하였다. 이 문제에 대해 인터파크 고객센터에 1:1 상담글을 올렸으나 아직까지도 답장이 없다. 아무래도 더 이상 이 API에 대해 지원을 하지 않는다라는 것과 너무 사용하는 사람이 없어서 유지보수를 하지 않아서 이러한 일이 발생했다고 볼 수도 있다. 그리고, 이러한 API는 한 번의 요..
[Wargame.kr] 1. already got 200점에 해당하는 Web 문제이다.이 사이트에서 가장 낮은 배점을 가지고 있는 만큼 상당히 쉬운 난이도를 가지고 있는 문제이다. 문제 링크 문제 사이트에 접속하면 'you've already got key! :p'라는 메시지를 볼 수 있다. 이미 키에 해당하는 값을 가지고 있다고 하는데, 사이트에서는 표시가 되지 않는다. 혹시 주석으로 key를 써놓았는지 여부를 확인하기 위해서 사이트의 소스보기를 하더라도 주석이 하나도 없는 것을 확인할 수 있다. 여기에도 주석이 없기 때문에 그다음으로 생각할 수 있는 것이 헤더부분에서 key값을 전송해주는 것이 아닌가라는 생각을 할 수 있다. 그래서 크롬의 개발자도구에서 Network 항목을 보았더니 다음 아래와 같은 사진의 형태로 볼 수 있었다. 여기서 Reques..
[Wargame.kr] 0. 로그인 스크립트 Wargame.kr에 있는 Web문제를 풀 때, Python을 이용해서 해결하는 편이다. 따라서 문제를 풀어서 인증키를 얻어내야하는데, 이 인증키는 접속 ip와 접속자 id에 따라서 바뀐다는 말이 써져 있기 때문에, 문제를 해결할 때 쿠키값을 입력받아서 같이 전송을 해줄 필요가 있다. 쿠키값을 얻는 가장 간단한 방법은 브라우저에서 직접 얻어오는 방법도 있지만, 이 사이트가 CodeIgniter 2로 개발이 되어서 쿠키 값이 매우 더럽다.(쿠키를 사용자와 관련된 데이터 전부를 json형태로 저장한다.) 그래서 이것을 한 두번 정도는 직접 복사 붙여넣기를 할 수 있는데, 이 행동을 매 번 문제를 풀 때마다 해야하기 때문에, 단순히 아이디와 패스워드만 입력하는 방법으로 하면, 매번 쿠키값이 달라지는 것에 대해..
다음 카페 게시판에 자동으로 글쓰기 보호되어 있는 글입니다.