-
[L.O.S] Level 14 - giantWargame/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