ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [L.O.S] Level 2 - cobolt
    Wargame/L.O.S 2022. 11. 29. 03:46
    반응형

    Level 2 - cobolt를 풀어보자.

     

    문제에 들어가면 php 코드가 있다.

    앞의 Level과 유사한 부분이 많기 때문에 달라진 부분만 보도록 하자.

     

    7번째 줄의 $query를 보면 마지막에 pw가 md5 안에 들어가는 것을 알 수 있다.

    md5는 해시 알고리즘으로 어떤 값이 들어오더라도 알고리즘을 거쳐 고정된 길이의 새로운 값으로 나타낸다.

    그리고 10번째 줄의 if 문을 보면 입력받을 id 값이 'admin'이면 문제가 해결된다고 나와있다.

    <cobolt의 php 코드 내용>

     

    문제에 나와있는 것처럼 id에 admin을 넣어보자.

    id 파라미터에 admin이 들어간 것이 출력된다.

    하지만 Clear가 나타나지 않는 것을 보아 문제가 해결되지는 않았다는 것을 알 수 있다.

    <id 파라미터에 admin 값 입력>

     

    해결을 위해서는 pw도 처리를 해주어야 한다.

    그런데, md5 함수때문에 어떤 값을 넣어도 해시 값이 생성된다.

    그렇다면 id 뒤의 문자열을 주석 처리해주는 것은 어떨까??

    문제 해결에 필요한 것은 id 파라미터에 admin 값을 넣는 것이기 때문에 가능할 것이라고 생각된다.

     

    id 파라미터에 admin을 입력하고 작은 따옴표(%27)을 넣어주어 id 입력을 종료한다.

    그 후 #을 넣어주어 뒤의 문자열은 주석 처리를 하는 것인데, 사진을 보면 %23이 들어가 있다.

    %23은 문자 #을 URL 인코딩한 것이다.

    인코딩의 이유는 간단하게 원래 URL에 쓰이는 몇몇 특수문자들의 의미와 겹치지 않기 위해서라고 생각하자.

     

    뒤의 문자열을 주석 처리해주니 COBOLT Clear!가 출력된 것을 볼 수 있다.

    <cobolt 문제 완료>

     

    반응형

    'Wargame > L.O.S' 카테고리의 다른 글

    [L.O.S] Level 6 - darkelf  (0) 2022.12.01
    [L.O.S] Level 5 - wolfman  (1) 2022.11.30
    [L.O.S] Level 4 - orc  (0) 2022.11.30
    [L.O.S] Level 3 - goblin  (0) 2022.11.29
    [L.O.S] Level 1 - gremlin  (0) 2022.11.29

    댓글

Designed by Tistory.