[webhacking.kr] old-1문제

2026. 1. 27. 15:14·워게임/webhacking.kr

1. 문제 정보

  • 문제 번호 : old -1
  • 문제 점수 : 20점

2. 문제 분석

문제에 들어가면 level : 1이 있고 소스보기가 있다.

.

 

소스는 아래와 같다.

<?php
  include "../../config.php";
  if($_GET['view-source'] == 1){ view_source(); }
  if(!$_COOKIE['user_lv']){
    SetCookie("user_lv","1",time()+86400*30,"/challenge/web-01/");
    echo("<meta http-equiv=refresh content=0>");
  }
?>
<html>
<head>
<title>Challenge 1</title>
</head>
<body bgcolor=black>
<center>
<br><br><br><br><br>
<font color=white>
---------------------<br>
<?php
  if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>=4) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>3) solve(1);
  echo "<br>level : {$_COOKIE['user_lv']}";
?>
<br>
<a href=./?view-source=1>view-source</a>
</body>
</html>

 

cookie에 user_lv를 저장해서 level이 숫자인지, 4보다 크거나 같은지 3보다 큰지 검사하는 로직이다.

 


3. 풀이

 

개발자 도구에서 cookie값을 3.5로 설정하고 새로고침하면 풀린다.


4. 요약

 

  • user_lv 쿠키 값이 4 이상이면 1로 초기화되고 3보다 크면 문제가 해결되는 서버 측 로직을 분석했다.
  • 3보다 크면서 4보다 작은 정수는 존재하지 않으므로 필터링을 우회하기 위해 실수 값을 사용해야 함을 파악했다.
  • 개발자 도구를 이용해 쿠키 값을 3과 4 사이의 값인 3.5로 변조하여 조건을 만족시키고 문제를 해결했다.

 

 

 

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

[webhacking.kr] old-43 문제  (0) 2026.01.30
[webhacking.kr] old-19 문제  (0) 2026.01.29
[webhacking.kr] old-23문제  (1) 2026.01.27
[webhacking.kr] old-36문제  (0) 2026.01.27
[webhacking.kr] old-42 문제  (0) 2026.01.27
'워게임/webhacking.kr' 카테고리의 다른 글
  • [webhacking.kr] old-43 문제
  • [webhacking.kr] old-19 문제
  • [webhacking.kr] old-23문제
  • [webhacking.kr] old-36문제
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-1문제
상단으로

티스토리툴바