HackThisSite Realistic :: Uncle Arnold’s Local Band Review

문제 :: http://www.hackthissite.org/playlevel/1/

사용자 삽입 이미지
올린사람 : HeavyMetalRyan

메시지 : 이봐요, 난 당신의 큰 은혜가 필요합니다. 그 웹사이트 한 번 전에 보여 줬던 거 기억 안 나요? 아놀드 삼촌의 밴드 리뷰 페이지? 음, 아주 오래 전 친구와 함께 내 밴드가 올해 말까지 목록의 상단에 있는 데 500 달러 내기를 했어요. 당신이 이미 알고있는, 내 밴드의 두 멤버가 끔찍한 자동차 사고로 사망했다고… 하지만 이 XXX(욕설 처리…)가 아직도 그 내기를 하고있어요!
난 당신이 컴퓨터에 대해 전문가라고 알고 있어요, 정말 궁금했는데, 어떤 식으로든 당신이 이 웹사이트를 해킹하고 내 밴드가 목록의 상단에 있도록 해주시겠어요? 내 밴드는 Raging Inferno입니다. 고마워요, 친구!

HackThisSite의 Realistic 첫 번째 문제입니다. 첫 번째인 만큼 난이도는 어렵지 않습니다. 힌트를 3개 드리죠.

  1. 투표 점수가 높을수록 목록의 상단에 배치됩니다.
  2. 인자를 넘기는 방법이 get 방식입니다.
  3. 웹 해킹의 기초는 html 소스를 분석하는 것입니다.

한 번 곰곰히 풀어보세요. 답부터 보면 재미 없잖아요?

여기서부터는 풀이입니다.만약 이 정도 문제 갖고 문제를 보자마자 이 풀이를 보는 거라면, 당신은 정말 인내심이 없는 사람일 겁니다.

Raging Inferno의 투표 점수만 조작하면 해결! 현재 1위인 Imposing Republic이 23점 정도이니까 이것보다 크기만 하면 됩니다.

Raging Inferno 부분의 소스를 보면 아래와 같습니다.

<form action="v.php" method="get">
      <input name="PHPSESSID" value="abcaeadfc31a5c43b2534bf995c0553f"
type="hidden">
      <input name="id" value="3" type="hidden">
      <select name="vote">
             <option value="1">1</option>
             <option value="2">2</option>
             <option value="3">3</option>
             <option value="4">4</option>
             <option value="5">5</option>
      </select>
      <input value="vote!" type="submit">
</form>


여기서 Raging Inferno의 세션ID와 값이 어떻게 주어지는지 알 수 있습니다. 이걸 토대로 아래와 같이 입력할 수 있죠.

http://www.hackthissite.org/missions/realistic/1/v.php?PHPSESSID=abcaeadfc31a5c43b2534bf995c0553f&id=3&vote=30


get 방식이라서 쉬운 문제였습니다. 이 문제는 위와 같이 풀어도 되고 Odysseus, Paros, ProxyStrike, FireBug 같은 툴을 이용하여 간단히 풀 수도 있습니다.


참고 문헌

GET과 POST의 차이점!! :: http://uniksy1106.tistory.com/161
비질의를 수행하는 HTTP GET 을 금지해라 :: http://kldp.org/ ~ avoid-get-non-queries.html

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다