소스보기만 있다.
<?php
include "../../config.php";
if($_GET['view_source']) view_source();
$db = dbconnect();
if(!$_GET['id']) $_GET['id']="guest";
echo "<html><head><title>Challenge 61</title></head><body>";
echo "<a href=./?view_source=1>view-source</a><hr>";
$_GET['id'] = addslashes($_GET['id']);
if(preg_match("/\(|\)|select|from|,|by|\./i",$_GET['id'])) exit("Access Denied");
if(strlen($_GET['id'])>15) exit("Access Denied");
$result = mysqli_fetch_array(mysqli_query($db,"select {$_GET['id']} from chall61 order by id desc limit 1"));
echo "<b>{$result['id']}</b><br>";
if($result['id'] == "admin") solve(61);
echo "</body></html>";
?>
get으로 id를 받고있다
id를 받지 못햇다면 id를 guest로 설정하고 있으며
id값을 필터링후 컬럼명에 넣어 결과를 받아오고있다.
그값을 result에 넣어 admin이면 성공이다.
그냥 select admin as id이라는 구문을 만들면 될거같다.
일단 길이가 걸린다. as를 빼준다.
'또한 우회해야한다 (가 막혀잇으니 16진수로 우회하면 될거같다.
admin은 0x61646D696E로 바꾸어준다.
?id=0x61646D696E id로 넘겨주면 성공!
이제 못푼 몇문제를 다시 풀러가야겠다...
'보안 > webhacking' 카테고리의 다른 글
webhacking.kr old-60 (0) | 2019.12.09 |
---|---|
webhacking.kr old-59 (0) | 2019.12.09 |
webhacking.kr old-58 (0) | 2019.12.09 |
webhacking.kr old-56 (1) | 2019.12.08 |
webhacking.kr old-55 (0) | 2019.12.08 |
최근댓글