ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Webhacking.kr] Challenge 6
    Wargame/Webhacking.kr 2023. 1. 14. 01:12
    반응형

    Challenge 6을 풀어보자.

    점수에 맞게 비교적 난이도가 쉬운 문제이다.

     

    문제 화면을 보면 ID와 PW가 있고, view-source의 링크가 있다.

    특별히 힌트가 될 부분은 없어 보이니, 소스 코드를 보도록 하자.

    <Challenge 6의 문제 화면>

     

    소스 코드를 보면, 쿠키가 없을 때 "guest"의 id와 "123qwe"의 pw를 가지게 된다.

    그 후 base64로 인코딩을 20번 반복하고, 1 ~ 8까지의 숫자는 특수 문자로 변환한다.

    그리고 그 두 값을 user와 password의 이름으로 쿠키 값으로 갖도록 한다.

     

    아래에 코드가 잘려 있지만, 그 과정을 반대로 거친 후 문제 페이지에 해당 값을 ID와 PW로 보여준다.

    <Challenge 6 문제의 소스 코드>

     

    먼저 쿠키 값을 확인하기 위해 크롬의 개발자 도구에서 Application 탭을 봤다.

    user와 password라는 이름의 쿠키가 있는데, 그 값이 엄청나게 길다.

    아무래도 인코딩을 20번이나 반복해서 그런 것 같다.

    <쿠키 값 확인>

     

    문제 자체는 쉬우니, 파이썬 코드로 금방 작성을 해보자.

    base64 모듈을 import 하고 해당 모듈의 함수를 이용해 base64로 인코딩을 해준다.

    그 후 replace 함수로 숫자를 특수 문자로 치환해주고 결과를 보면, 바이트 형식으로 쿠키 값이 출력된다.

    (코드에는 user만 구했지만, "admin"을 "nimda"로 바꿔 password도 구해주면 된다.)

    <쿠키 값 구할 파이썬 코드>

     

    이렇게 나온 쿠키 값을 인코딩 해주고, user와 password에 넣어준 뒤 새로 고침을 하면 문제가 해결된다.

    old-06 Pwned! 출력 창의 확인을 누르고, 화면을 보면 ID와 PW가 잘 들어간 것을 확인할 수 있다.

    <Challenge 6 문제 완료>
    <문제 완료 확인>

    반응형

    'Wargame > Webhacking.kr' 카테고리의 다른 글

    [Webhacking.kr] Challenge 8  (0) 2023.02.27
    [Webhacking.kr] Challenge 7  (0) 2023.01.14
    [Webhacking.kr] Challenge 5  (0) 2023.01.13
    [Webhacking.kr] Challenge 4  (0) 2023.01.12
    [Webhacking.kr] Challenge 3  (0) 2022.12.11

    댓글

Designed by Tistory.