Almon Dev

[Lord of SQL Injection] vampire 풀이 본문

모의해킹/Lord of SQLi

[Lord of SQL Injection] vampire 풀이

Almon 2025. 1. 6. 18:20

LOS 풀이

 

vampire

 

 

풀이

1. 코드 분석

GET 메서드의 id 파라미터를 쿼리에 삽입하고 쿼리 결과의 id가 admin인 경우 문제가 풀립니다.

$query = "select id from prob_vampire where id='{$_GET[id]}'"; 
$result = @mysqli_fetch_array(mysqli_query($db,$query)); 
if($result['id'] == 'admin') solve("vampire");

 

' 를 필터링하고 id 파라미터의 값을 소문자로 변경한 뒤 admin 문자를 공백으로 치환합니다.

admin을 공백으로 치환하기 때문에 adadminmin처럼 admin이 사라질때 admin이 되도록 만들면 우회가 가능합니다.

if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~");
$_GET[id] = strtolower($_GET[id]);
$_GET[id] = str_replace("admin","",$_GET[id]);

 

2. 쿼리 삽입

?id=adadminmin를 삽입합니다.