Webhacking.kr - web53
web53
1
2
3
4
5
6
7
8
<?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]);
?>
Solution
1
2
3
4
5
6
7
8
9
10
뒤에서부터 풀다보니 55번을 못풀어서 풀이를 보다가 간접 풀이를 보게 됨.
이 문제또한 procedure analyse를 이용해서 풀 수 있다고 함.
procedure analyse()는 select, information 등등 쿼리의 필드명, 컬럼명 등을 알아내기 어려울 때
돌파구로 사용할 수 있는 함수인 듯함.
현재 hidden_table에서 값을 가져오므로 현재 테이블이 뭔지 확인해보면 됨.
?val=1 procedure analyse() -> webhacking.chall53_755fdeb36d873dfdeb2b34487d50a805.a
현재 테이블은 chall53_755fdeb36d873dfdeb2b34487d50a805
This post is licensed under CC BY 4.0 by the author.