이 영역을 누르면 첫 페이지로 이동
DevDori 블로그의 첫 페이지로 이동

DevDori

페이지 맨 위로 올라가기

DevDori

[Lord of SQL Injection] gremlin 1번 풀이

  • 2021.10.10 18:03
  • WarGame/Lord of SQL Injection

1번 문제 ( gremlin )  

[ 문제접근 ]

1. 쿼리 : id와 pw파라미터가 존재하고, 이를 통해 DB를 조회한다

2. $_GET[id], $_GET[pw] : GET방식을 통해서 id와 pw를 입력을 받는다

3. if($result['id']) solve("gremlin");  : DB에 id와 pw가 일치하고 그 결과가 참일경우, 즉 쿼리 질의결과 참인경우 solve(gremlin)를 시켜준다

 

=> 정리 : 우리는 쿼리문을 통한 질의에서 항상 참을 반환하도록 하면 된다

 

 

[ 문제풀이 ]

더보기
<정답> : ?id=0&pw='1'or'1

 

<풀이> 

select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}' 

{$_GET[id]}와 {$_GET[pw]} 자리에 우리가 입력한 값이 들어가게 되고, 만약 우리가 정답에 적힌 내용을 요청하게 되면 다음과 같은 쿼리문이 완성된다.
=> select id from prob_gremlin where id='0' and pw='1'or'1' 

 

여기서는 pw부분이 가장 중요하다.

pw에는 1이 들어가고 or 조건으로 1을 넣어주면, 1은 항상 참이므로 앞의 and 결과가 거짓이라도 or을 사용해 결과가 하나라도 참이면 참인 결과가 도출되게된다, 정답과 같은 방법으로 넣어주면 항상참인 쿼리문을 완성할 수 있다. 

 

<주의> 쿼리문에서는 문자열 및 각종 형식을 잘 맞춰서 넣어줘야지 값이 나온다.

정답에 ' 를 사용한 이유도 문자열은 ' ' 이런식으로 감싸져 있어야 하므로 1 뒤에 '를 붙여서 닫아주면 

기존 쿼리에 존재하는 ' 와 이어붙어 '1'이 되게 된다 또한 앞에서 기존쿼리 앞부분에 존재하는 '를 사용했으므로
기존쿼리 뒤에 남아있는 '를 처리하기 위해 '1 을 적어서
pw='1'or'1' 의 형태가 완성되게 된다


정답

"CREMLIN Clear!" 가 나타난다! 정답!

이제 다음 스테이지로 넘어가도록 하자

'WarGame > Lord of SQL Injection' 카테고리의 다른 글

[Lord of SQL Injection] darkelf 6번 풀이  (0) 2021.10.12
[Lord of SQL Injection] wolfman 5번 풀이  (0) 2021.10.12
[Lord of SQL Injection] orc 4번 풀이  (0) 2021.10.10
[Lord of SQL Injection] goblin 3번 풀이  (0) 2021.10.10
[Lord of SQL Injection] cobolt 2번 풀이  (0) 2021.10.10

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [Lord of SQL Injection] wolfman 5번 풀이

    [Lord of SQL Injection] wolfman 5번 풀이

    2021.10.12
  • [Lord of SQL Injection] orc 4번 풀이

    [Lord of SQL Injection] orc 4번 풀이

    2021.10.10
  • [Lord of SQL Injection] goblin 3번 풀이

    [Lord of SQL Injection] goblin 3번 풀이

    2021.10.10
  • [Lord of SQL Injection] cobolt 2번 풀이

    [Lord of SQL Injection] cobolt 2번 풀이

    2021.10.10
다른 글 더 둘러보기

정보

DevDori 블로그의 첫 페이지로 이동

DevDori


ShinhanBank InfoSec Devision
Sunrin High School InfoSec 115th
TeamH4C members

  • DevDori의 첫 페이지로 이동

나의 외부 링크

  • GitHub
  • FB
  • Instagram

검색

카테고리

  • 분류 전체보기 (43)
    • Project (7)
      • 정보보안 프로젝트 (6)
      • 진로 IT 프로젝트 (1)
    • System (4)
    • Reversing (3)
    • Web (1)
    • WarGame (21)
      • Lord of SQL Injection (15)
      • BandIt (2)
      • Webhacking.kr (0)
      • pwnable.kr (0)
      • HackCTF (2)
      • FTZ (0)
      • Dreamhack (2)
    • Dev (5)
      • DataBase (5)
    • Etc. (2)
      • 알쓸컴잡 (0)
      • Linux (1)
      • GitHub (1)
      • 시놀로지 (0)
    • Algorithm (0)
      • programmers (0)

메뉴

  • 홈
  • 태그
  • 방명록

최근 글

인기 글

댓글

정보

DevDori의 DevDori

DevDori

DevDori

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © DevDori.

티스토리툴바