[WebHacking.kr]Old-01 Write-up

2024. 12. 17. 18:00보안/웹

728x90

들어가면 이런 화면 하나가 나온다.

소스를 보면

<?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>

이런 소스가 나오고,

<?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']}";
?>

여기를 보면 user_lv가 4이상이면 1이 되고, user_lv가 3초과면 해결된다.

그럼 3과 4 사이값을 넣어주면된다.

페이지에는 입력값을 넣어주는 곳이 보이지 않고, 소스코드에 COOKIE가 있으니

관리자 도구에서 Performance에 있는 cookies를 보자

해당 값을 3과 4 사이 값으로 바꿔주면 문제가 해결된다.

들어가면 이런 화면 하나가 나온다.

소스를 보면

<?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>

이런 소스가 나오고,

<?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']}";
?>

여기를 보면 user_lv가 4이상이면 1이 되고, user_lv가 3초과면 해결된다.

그럼 3과 4 사이값을 넣어주면된다.

페이지에는 입력값을 넣어주는 곳이 보이지 않고, 소스코드에 COOKIE가 있으니

관리자 도구에서 Performance에 있는 cookies를 보자

해당 값을 3과 4 사이 값으로 바꿔주면 문제가 해결된다.

'보안 > ' 카테고리의 다른 글

[DreamHack] Flying chars Write-up  (0) 2024.12.26
[DreamHack] phpreq Write-up  (0) 2024.12.26
[WebHacking.kr]Old-03 Write-up  (1) 2024.12.18
[WebHacking.kr]Old-07 Write-up  (0) 2024.12.17
[Dreamhack]php7cmp4re Write-up  (0) 2024.07.18