본문 바로가기

web/Lord of SQLInjection

Lord of SQLInjection - 8번 : troll

상당히 간단한 문제이니 바로 문제를 보러 갑시다.

문제 살펴보기

los troll 문제

 

문제 풀이에 필요한 부분을 확인해보자.

 

 

 

 

 

                                                  if(preg_match("/admin/"$_GET[id])) exit("HeHe");
                                                 
$query "select id from prob_troll where id='{$_GET[id]}'";
                                                  ...

                                                  $result = @mysqli_fetch_array(mysqli_query($db,$query));

                                                  if($result['id'] == 'admin'solve("troll");

 

풀이 조건이 매우 간단하다.

id 파라미터로 전달한 값에 admin을 포함시키지 않고

select문이 id='admin'인 행을 반환하게 하면 된다.

 

 

 

 

 

문제 풀이 과정

sql에서 select문은 대소문자를 구별하지 않는다.

따라서 admin 대신 Admin, ADMIN 등 대문자를 포함시켜서 id 파라미터를 통해 값을 전달하면

바로 문제가 풀릴 것이다.

 

 

 

 

 

troll clear

 

페이로드 : ?id=Admin

 

 

 

 

 

select문이 대소문자를 구분하지 않는다는 것만 알면 매우 쉽게 풀 수 있는 문제였다.

다음 문제로 넘어갑시다.