ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [웹 해킹] webhacking.kr 1번 문제
    웹 해킹 2021. 3. 19. 12:45

    안녕하세요! 여러분들과 함께 해킹을 공부할 중딩해커 입니다.
    자 오늘은 webhacking.kr의 1번문제를 풀어보자고요!
    웹에 관한 지식이 없어도 됩니다! 가봅시다!
    http://webhacking.kr

    크롬으로 접속하기

    크롬으로 위의 사이트에 접속해줍니다.

    아 참고로 전 파이어폭스 씁니다

    그리고, 문제를 풀기 위한 도구 하나만 설치해 봅시다.
    크롬에서 이 링크로 들어갑시다.
    https://chrome.google.com/webstore/category/extensions?hl=ko (크롬 웹 스토어)

    Chrome 웹 스토어

    Chrome에 사용할 유용한 앱, 게임, 확장 프로그램 및 테마를 찾아보세요.

    chrome.google.com

    들어간 후 검색창에 cookie를 쳐 줍니다.
    그리고 확장 프로그램에서 프로그램 하나 깔아줍니다. (전 EditThisCookie로 진행하겠습니다.)
    설치가 완료되었다면 오른쪽 위 퍼즐모양 아이콘을 클릭해서 이 프로그램을 쓸 수 있습니다!

    프로그램 깔다보니 글이 길어졌군요. 문제 풀러 가시죠!

    1번 문제 풀기

    로그인 방법은 따로 서술하지 않겠습니다. (길이 너-무 길어지는걸 막기 위해)
    1번문제를 클릭해서 들어가보면..

    이게 뭘까요?

    당황하지 마세요.. 앞으로 더 많은 것을 보게 될겁니다. 일단 절 따라오시죠!
    먼저 저 파란색 view-source를 눌러봅시다.
    (.. 나가지 마시고 쭉 보세요)

    나가지 마세요

    ??? : 이게 뭐야.. 난 이곳을 떠나야겠어!
    잠깐! 잠깐만요.. 나가지 마세요..
    같이 천천히, 천-천히 살펴보자고요..
    이해가 안되야 정상이니까 그냥 '뭔 헛소리지..' 하면서 읽어주시면 됩니다
    영어 글을 읽는다 생각하고 천천히 읽다 보면.. 21번째 줄에 solve(1);이라는 말이 있습니다. 그런데 앞에 있는 말들은 다 뭘까요?

    생각해 볼 점

    solve가 한글로 '풀다'라는 뜻이니 이 solve가 실행되게 하면 될 것 같습니다. 그런데 이 solve앞에
    if($_COOKIE['user_lv']>5) 라는 말이 붙어있죠.
    if 가 '만약'이니까, cookie같은거 무시하고 보면 만약 user_lv > 5라면 이라는 거겠군요.
    대충 생각해보면 이 글의 의미는 "'user_lv'가 5보다 크다면" 이라는 의미 같습니다. 근데 이 user_lv는 대체 어떻게 변경시키죠?

    풀이

    이것저것 뒤적거려 보다가 아까 깔았던 프로그램을 열어보면..

    찾았다!!

    드디어 user_lv를 찾았군요! 이제 이걸 조정하면 됩니다.
    5보다 큰거 대충 쓰려 했더니.. 20번째 줄에
    if($_COOKIE['user_lv']>=6) $_COOKIE['user_lv']=1; 라는 또 뭔 글이 있군요..
    이것도 쉽게 생각해서 6보다 작아야 한다고 생각해봅시다.
    5보다 크도 6보다 작은..
    5.5 같은거면 되겠군요!
    프로그램을 열고 user_lv을 클릭한 뒤 값을 눌러서 5.5로 바꾸고, 체크를 눌러줍니다.

    5.5로..

    그리고 새로고침을 누르면!!!

    와!!

    전 이미 풀었던 문제이기에 already solved가 나왔지만 여러분들은 클리어했다고 나올겁니다!
    축하해요!
    근데 이 문제, 대체 어떤 원리로 푼 거죠?

    문제와 관련된 웹 지식

    이 문제를 풀다 보면 이런 생각이 들 수 있죠.
    그래서 대체 쿠키가 뭔데?
    음.. 쉽게 설명하자면.. 로그인을 예시로 들겠습니다. (글로 설명하고, 그림으로 보여드릴게요!)
    제가 한 사이트에 로그인하고, 그 계정으로 쇼핑을 하려 한다고 가정해보죠.
    제가 id를 중딩해커로 로그인했습니다.
    그리고 쇼핑을 하는데.. 쇼핑하려했더니 또 로그인 하라하면 안되잖아요?
    그래서 쿠키를 씁니다.
    이 예제에서는 쿠키가 "id : 중딩해커" 겠군요.
    로그인을 한 뒤, 이 쿠키를 받습니다.
    그리고 쇼핑할때 이 쿠키를 보여주면 제 id가 중딩해커라는걸 알게 되는 거죠.
    그림으로 설명하면..

    실제로는 이렇게 하지 않고 훨씬 보안 좋은 방법으로 합니다


    .. 이런거죠.
    이해가 조금 되셨나요?
    아직 이해가 잘 안돼도 괜찮습니다.
    앞으로도 다른 문제 풀때 쿠키 관련 내용이 나오면 조금씩 설명해 드릴게요!
    그럼 다음에 만나요!

    악의적인 목적의 해킹 시, 법적 처벌을 받을 수 있으며 이 블로그는 책임지지 않습니다.

    댓글

Designed by Tistory.