ABOUT ME

-

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

    새로운 Wargame인 L.O.S(Lord of SQL Injection)를 시작해보자.

    SQL Injection에 대해 공부할 수 있는 Wargame으로, L.O.B처럼 Level 마다 이름이 부여되어 있다.

    먼저 Level 1 - gremlin을 풀어보도록 하자.

     

    간단하게 사이트에서 회원가입을 하고 로그인을 하면 많은 문제들이 있는 것을 볼 수 있다. (아래에도 더 있다.)

    gremlin으로 들어가보자.

    <L.O.S 문제들>

     

    이번 Wargame을 시작하기 전에 php에 대해 공부를 조금 했지만, 역시 모르는 내용이 많다.

    그래도 간단한 SQL Injection 문제이기 때문에 쉽게 풀 수 있었다.

     

    문제를 열어 보면 php 코드가 나타난다.

    7번째 줄의 $query를 보면 id와 pw를 GET 방식으로 입력받고 있다.

    8번째 줄의 echo에 의해 query : select id from ... 의 내용이 출력되고 있다.

    10번째 줄의 내용을 보면 입력하는 id 값이 참이면 문제가 해결된다.

    <gremlin의 php 코드 내용>

     

    우선 어떤 식으로 입출력이 되는지 확인하기 위해 쿼리문에 내용을 삽입해보도록 하자.

    GET 방식으로 입력을 받으므로, 해당 URL의 뒤에 ?를 붙이고 원하는 값을 집어넣으면 된다.

    문제를 풀기 위해 필요한 것은 id 값이므로, id에 1을 넣어볼 것이다.

    그리고 필요는 없지만, pw에도 1을 넣어 출력이 되는지 확인해보도록 하자.

    <id와 pw에 1을 입력한 결과 출력>

     

    SQL Injection에도 많은 기법들이 있지만, 이번 Level은 간단하게 풀 수 있다.

    처음 공부를 할 때 SQL Injection의 가장 간단한 예로 select ... where ... = ' ' or '1=1'이 있다.

    이것은 where문을 언제나 참으로 만들어 원하는 정보가 select 되도록 하는 것이다.

     

    이번 Level은 그 정도의 수준으로도 풀 수 있는 문제이다.

    id를 참으로 만들도록 쿼리를 입력해준다.

    풀이에는 pw도 참의 값으로 입력을 했지만, id 입력 후 '#'을 이용해 생략이 가능하다.

    아무튼 이렇게 id 값을 참으로 만들면 GREMLIN Clear! 라는 문자가 출력된다.

    그 후 다시 메인화면을 보면 gremlin에 줄이 그어져 있고 cobolt 문제가 활성화되어 있다.

    <gremlin 문제 완료>

    반응형

    '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 2 - cobolt  (0) 2022.11.29

    댓글

Designed by Tistory.