ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [L.O.S] Level 14 - giant
    Wargame/L.O.S 2022. 12. 4. 04:15
    반응형

    Level 14 - giant를 풀어보자.

    코드와 쿼리문을 잘 본다면 굉장히 간단한 문제이다.

     

    앞의 Level들에 비해 코드의 양이 적다.

    preg_match 함수에 의해 필터링되는 것은 각종 공백에 관련된 문자들이다.

    그리고 아래 쪽의 if 문을 보면 result[1234]가 되어 있는데, 쿼리문에서 1234를 select하고 있다.

    이것의 의미는 이미 result에 1234를 확인하고 있으므로, 문제가 해결되었다는 것이다.

    <giant의 php 코드 내용>

     

    그런데 왜 문제가 끝나지 않는 것일까??

    그 이유를 알아보기 위해 입력을 할 건데, shit 파라미터에 1을 넣어보자.

    여기서 쿼리문을 살펴보면 ... from1prob_giant ...로 나타난다.

    이 from과 prob_giant가 붙어 있으므로, 쿼리문이 오류를 일으켜 실행이 되지 않는 것이다.

    <입력에 따른 쿼리문 확인>

     

    이것을 해결하기 위해 이 사이에 공백을 넣어주어야 하는데, 공백 문자들이 필터링되고 있다.

    그런데, 필터링되고 있는 이 4개 외에도 공백 문자는 더 있다.

    그 중 하나를 찾아서 입력해주자. (더 많은 것들이 있으므로 찾아보며 이용하도록 하자.)

     

    shit 파라미터에 %0c를 입력해주는 것으로 문제를 해결할 수 있다.

    from과 prob_giant 사이에 공백이 생기며 GIANT Clear!가 출력되고, 문제가 해결되었다.

    <giant 문제 완료>

    반응형

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

    [L.O.S] Level 16 - succubus  (0) 2022.12.05
    [L.O.S] Level 15 - assassin  (0) 2022.12.05
    [L.O.S] Level 13 - bugbear  (0) 2022.12.04
    [L.O.S] Level 12 - darkknight  (0) 2022.12.04
    [L.O.S] Level 11 - golem  (0) 2022.12.02

    댓글

Designed by Tistory.