[webhacking.kr] old-27 문제

2026. 1. 26. 15:47·워게임/webhacking.kr

1. 문제 정보

  • 문제 번호 : old -27
  • 문제 점수 : 15점
  • 문제 유형 : SQLI

 


2. 문제 분석

문제는 SQL Injection 문제이다. 그리고 SQL을 제출하는 폼이 있고 소스를 볼 수 있다, 

소스는 아래와 같다. 제출된 no파라미터는 preg_match 정규식 필터링을 한번 거치고 쿼리로 입력된다.

아래는 필터링 목록이다

  • #
  • select
  • \(
  • (공백)
  • limit
  • =
  • 0x

db에서 query에 no = (GET 요청 no값)형식으로 데이터를 입력한다.

<?php
  include "../../config.php";
  if($_GET['view_source']) view_source();
?><html>
<head>
<title>Challenge 27</title>
</head>
<body>
<h1>SQL INJECTION</h1>
<form method=get action=index.php>
<input type=text name=no><input type=submit>
</form>
<?php
  if($_GET['no']){
  $db = dbconnect();
  if(preg_match("/#|select|\(| |limit|=|0x/i",$_GET['no'])) exit("no hack");
  $r=mysqli_fetch_array(mysqli_query($db,"select id from chall27 where id='guest' and no=({$_GET['no']})")) or die("query error");
  if($r['id']=="guest") echo("guest");
  if($r['id']=="admin") solve(27); // admin's no = 2
}
?>
<br><a href=?view_source=1>view-source</a>
</body>
</html>

 

 


 

3. 풀이

no 파라미터에 아래와 같이 입력하면 =를 like로 공백을 \t으로 우회할 수 있고 괄호 닫는 거는 필터링에 없어서 사용 가능하고 원래 있는 괄호는 주석 처리를 통해 우회 가능하다.

2)%09or%09id%09like%09'a%'--%09


4. 요약

  1. select, 공백, =, ( 등을 차단하는 정규식 필터와 id='guest' 및 괄호로 고정된 SQL 쿼리 구조를 파악 했다.
  2. 차단된 공백은 탭(%09)으로, 등호(=)는 like 연산자로 대체하고 여는 괄호는 주석처리해 쿼리 문법을 우회했다.
  3.  2) or id like 'a%' 구문을 주입하여 고정된 guest 조건을 벗어나 admin 계정을 조회하고 문제를 해결했다.

'워게임 > webhacking.kr' 카테고리의 다른 글

[webhacking.kr] old- 19문제  (0) 2026.01.26
[webhacking.kr] old-25 문제  (0) 2026.01.26
[webhacking.kr] old-31 문제  (0) 2026.01.23
[webhacking.kr] old-39 문제  (0) 2026.01.23
[webhacking.kr] old-38문제  (0) 2026.01.23
'워게임/webhacking.kr' 카테고리의 다른 글
  • [webhacking.kr] old- 19문제
  • [webhacking.kr] old-25 문제
  • [webhacking.kr] old-31 문제
  • [webhacking.kr] old-39 문제
yt_5246
yt_5246
yt5246 님의 블로그 입니다.
  • yt_5246
    yt의 공부 블로그
    yt_5246
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 분류 전체보기 (61)
      • IT (1)
      • Security (11)
        • 시스템해킹 (3)
        • 리버싱 (6)
        • 암호학 (0)
        • tools (2)
      • Book (0)
      • 자격증 (3)
      • 워게임 (46)
        • DVWA (7)
        • WebGoat (4)
        • webhacking.kr (35)
      • 버그바운티 (0)
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
yt_5246
[webhacking.kr] old-27 문제
상단으로

티스토리툴바