LOS Gremlin
Web/Web Hacking (Wargame)

LOS Gremlin

728x90

https://los.rubiya.kr/gate.php

 

https://los.rubiya.kr/gate.php

 

los.rubiya.kr

사이트를 이전한 듯 하다!


Gremlin

source code

if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
  • '_' , '.' , '\' 을 사용할 수 없도록 조건이 걸려있다.
$query = "select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if($result['id']) solve("gremlin");
  • GET 방식으로 id 변수와 pw 변수에 값을 받아올 수 있도록 되어있다.

이러한 경우에는 "/~.php?id=hello&pw=world"와 같은 방식으로 id와 pw에 값을 줄 수 있다.

  • query 문을 위에 보이는 것처럼 출력한다.
  • $result 는 $db 에 $query를 저장하고 mysql에 저장한 레코드를 배열의 형식으로 리턴한 결과를 저장한다.
    • 즉, $result는 일종의 배열 형태인 것이라고 생각한다.
  • $result의 'id' 값이 TRUE일 때 문제를 해결할 수 있다.

solution

id=1' or 1=1 %23
  • '%23'은 '#'의 기호로, 이후의 부분은 주석 처리 해버린다.
  • id의 값으로 1을 넣고 작은 따옴표로 닫아버린다.
  • or 1=1 으로 id에는 언제나 True 값이 들어갈 수 있도록 한다.


더보기

SQLinjection을 이제 막 배워서 설명을 분명하게 하지 못하겠네요ㅜ.ㅜ

SMALL

'Web > Web Hacking (Wargame)' 카테고리의 다른 글

[Dreamhack] Carve Party  (0) 2022.04.24
[HackCTF] hidden  (0) 2021.08.13
[HackCTF/Web] 1번. /  (0) 2021.08.09
[LOS] 3. goblin  (0) 2021.08.07
[LOS] 2. cobolt  (0) 2021.08.07