ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [L.O.S] Level 3 - goblin
    Wargame/L.O.S 2022. 11. 29. 05:37
    반응형

    Level 3 - goblin을 풀어보자.

     

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

    앞의 Level과 유사해 보이지만, 이번에는 id가 아닌 no에 입력값을 넣어야 한다.

    그런데 결과는 id 파라미터의 값이 admin이어야 문제가 해결된다.

    어떻게 넣어야 하는 것일까??

    <goblin의 php 코드 내용>

     

    혹시나 하는 마음으로 id 파라미터에 admin을 넣어보도록 하자.

    당연하게도 되지 않는다..

    <id 파라미터에 admin 입력>

     

    다시 코드의 내용을 상기하면서 no 파라미터에 값을 넣어보도록 하자.

    1을 넣었는데, Hello guest가 출력이 된다.

    <no 파라미터에 1 입력>

     

    다른 값을 넣었을 때는 어떻게 되는지를 알아보기 위해 임의의 숫자 25를 넣어 보았다.

    Hello guest가 사라지면서 아무런 출력이 나타나지 않는다.

    <no 파라미터에 25 입력>

     

    no이 1일 때 Hello guest가 출력된 것으로 보아, no에 대응되는 id가 있는 것 같다고 생각한다.

    그런데 admin에 대응되는 no이 몇인지는 사실 알기가 굉장히 힘들다.

    그럼 다른 방법이 필요한데, 필요한 것은 id 파라미터에 admin을 집어 넣는 것이다.

     

    그래서 no에 값을 넣고, or을 이용해 id에 admin을 넣어 보았다.

    하지만, preg_match 함수에서 quote를 필터링하기 때문에 No Quotes 페이지가 나타난다.

    <필터링으로 인한 No Quotes 페이지>

     

    이 부분에서 필터링 우회에 대해 검색을 해보았다.

    필터링을 우회하는 방법 중 16진수를 이용한 우회 방법이 있었다.

    admin을 16진수로 변환해 입력을 했는데, 앞의 0x는 db에서 16진수라는 것을 알 수 있게 하기 위해 필요하다.

    Hello admin과 함께 GOBLIN Clear!가 출력된 것을 볼 수 있다. 

    <goblin 문제 완료>

    반응형

    '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 2 - cobolt  (0) 2022.11.29
    [L.O.S] Level 1 - gremlin  (0) 2022.11.29

    댓글

Designed by Tistory.