ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [L.O.S] Level 17 - zombie_assassin
    Wargame/L.O.S 2022. 12. 5. 04:15
    반응형

    Level 17 - zombie_assassin을 풀어보자.

     

    코드를 살펴보면 앞의 succubus와 비슷한 문제이다.

    하나가 추가되었는데, 입력받는 id와 pw에 addslashes 함수와 strrev 함수가 적용되었다.

    <zombie_assassin의 php 코드 내용>

     

    strrev 함수는 처음 본 것인데, 입력 받는 것을 반대로 출력하는 함수이다.

    아래의 사진을 보면 id와 pw 파라미터에 모두 123을 입력했는데, 321로 출력이 되었다.

    <strrev 함수 확인>

     

    우선 succubus와 비슷하게 입력을 해보자.

    순서만 바꾸어 입력을 했는데, 백슬래시(\)가 두 개 입력되는 것을 볼 수 있다.

    이것은 addslashes 함수에 의해 백슬래시가 하나 더 입력이 된 것이다.

    <백슬래시 입력 결과>

     

    어떻게 입력해야 succubus처럼 싱글쿼터(')를 우회할 수 있을까?

     

    addslashes 함수는 ', ", \ 등의 문자에 대해 백슬래시를 하나 더 넣어 문자로 동작하게 하는 함수이다.

    그런데 이 문자들은 모두 입력을 했을 때, 이번 문제를 해결할 수 없다.

     

    그러므로 해결을 위해 addslashes가 동작하는 특수 문자 중 NULL을 이용해 보도록 하자.

    %00으로 NULL을 입력해주면 아래의 사진처럼 나타나는 것을 확인할 수 있다.

    출력 순서에 주의하여 입력을 해주면 ZOMBIE_ASSASSIN Clear!가 출력되며 문제가 해결된다.

    <zombie_assassin 문제 완료>

    반응형

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

    [L.O.S] Level 19 - xavis  (1) 2022.12.07
    [L.O.S] Level 18 - nightmare  (0) 2022.12.06
    [L.O.S] Level 16 - succubus  (0) 2022.12.05
    [L.O.S] Level 15 - assassin  (0) 2022.12.05
    [L.O.S] Level 14 - giant  (0) 2022.12.04

    댓글

Designed by Tistory.