๐Ÿ’ปWebhacking.kr Old 1๋ฒˆ ๋ฌธ์ œ ํ’€์ด๐Ÿ’ป

๊น€์ฐฌ์šธยท2022๋…„ 4์›” 21์ผ
1

๋ฌธ์ œ ๐Ÿ’ป

https://webhacking.kr/challenge/web-01/

  • ๐Ÿ“‹ 1๋ฒˆ ๋ฌธ์ œ๋ฅผ ์˜†์— php๋งˆํฌ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์•„ php๋ฅผ ๋ณด๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผํ•œ๋‹ค.

source๐Ÿ“‘

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

ํ•ด๋‹น ์†Œ์Šค๋ฅผ ๋ณด๊ณ  ์กฐ์ž‘ํ•˜๋ฉด ๋œ๋‹ค.
๋Œ€๋ถ€๋ถ„ Post ๋ฐฉ์‹์œผ๋กœ์˜ ์กฐ์ž‘์œผ๋กœ ์›น์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธ์–ด์˜ค๋Š” ๊ฒฝ์šฐ๋Š” ์—†์œผ๋ฏ€๋กœ
GET๋ฐฉ์‹์„ ์“ด๋‹ค. ์ฆ‰ body๋ฅผ ๊ฑด๋“œ๋ ค์•ผํ•œ๋‹ค.
์ด๋ฒˆ์— ์šฐ๋ฆฌ๋Š” Cookies ๊ฐ’์„ ๊ฑด๋“œ๋ฆด ๊ฒƒ์ด๋‹ค.

์ฟ ํ‚ค๐Ÿช ๊ฐ’ ์ œ์–ด๋ฒ• ๐Ÿช

์ผ๋‹จ ํฌ๋กฌ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด Cookie Editor ํ™•์žฅํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค (๋งํฌ ์ฐธ๊ณ )
https://chrome.google.com/webstore/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm?hl=en

๊ตณ์ด ์•ˆ์“ฐ๋”๋ผ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ ์†Œ์Šค๋ฅผ ๋ด์•ผํ•˜๊ธฐ์— ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ž‘ ๋Œ์•„๊ฐ€๋ฉฐ ๋ณด!
๊ธฐ์—๋Š” ๋ถˆํŽธํ•˜๋‹ˆ ๋‹ค์šด ๋ฐ›๋Š”๊ฒŒ ํŽธํ•˜๋‹ค.

๊ฐœ๋ฐœ์ž ๋„๊ตฌ๐Ÿ“ƒ


ํ•„์ž๋Š” ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ์„ ์ข‹์•„ํ•˜๊ธฐ์— ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค.
๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋Š” F12๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์„œ ์ผค ์ˆ˜ ์žˆ๋‹ค.
๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—๋Š” Document, console, source๋“ฑ๋“ฑ์ด ์žˆ๋Š”๋ฐ ์šฐ๋ฆฌ๋Š” ์ด์ค‘์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์žˆ๋Š” cookie๋ฅผ ์กฐ์ž‘ํ•  ๊ฒƒ์ด๋‹ค.

ํ•ด๋‹น ์‚ฌ์ง„์—์„œ ์ฒ˜๋Ÿผ application(์• ํ”Œ๋ฆฌ์ผ€์ด์…˜)์— ๋“ค์–ด๊ฐ€์„œ ์ขŒ์ธก ์— ๋ณด์ด๋Š” ์ฟ ํ‚ค(cookies)๋ฅผ ๋ณธ๋‹ค.
ํ•ด๋‹น ์‚ฌ์ดํŠธ https://webhacking.kr ์— ์ „์†กํ•˜๊ณ  ์žˆ๋Š” cookies๊ฐ€ ๋ณด์ธ๋‹ค.
ํ•ด๋‹น cookies ๋Š” PHPSESSID์™€ user_lv๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ ์ด๋•Œ
PHPSESSID ๋Š” ๊ฐœ์ธ ๋“ฑ๋ก๋ฒˆํ˜ธ๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์šฐ๋ฆฌ๊ฐ€ ์ค‘์š”ํ•˜๊ฒŒ ๋ณผ ๋ถ€๋ถ„์€ user_lv๋‹ค.

์œ„์— ์†Œ์Šค๋ฅผ ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ณด์ž๋ฉด

<?php1
  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>
<?php2
  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 ๐Ÿค“

์ด๋•Œ ๋ณด์ด๋Š” PHP๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋Š” ๊ฐ„๋‹จํ•˜๊ฒŒ ์„œ๋ฒ„์šฉ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
html์—์„œ ๋ณด์ด๋Š” ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์ด๊ณ , ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋Š” PHP์ด๋‹ค.
์ด๋ฅผ ์ฃผ์„์ฒ˜๋ฆฌ๋œ ์ด์œ ๋Š” PHP๋Š” ์„œ๋ฒ„ ์Šคํฌ๋ฆฝํŠธ๊ธฐ์— ๊ฐœ๋ฐœ์ž๋„๊ตฌ๋กœ ๋ณผ ์ˆ˜ ์—†๋‹ค.
ํ•ด๋‹น ์†Œ์Šค์—์„œ๋Š” ์‚ฌ์šฉ์ž์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ œ๊ณตํ•œ ๊ฒƒ์ด๋‹ค.

  • ์‹ค์ „์—์„œ์˜ PHPํ•ดํ‚น์€ ์ง€๋ ˆ์ง์ž‘์œผ๋กœ ํ•ด์•ผํ•œ๋‹ค.

๊ฐ์„คํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•˜๋ฉด
php 2๋ฅผ ๋ณด์ž ์กฐ๊ฑด๋ฌธ์ด ์žˆ๋‹ค.

1. ์ฟ ํ‚ค๋กœ ๋“ค์–ด์˜จ 'user_lv'๊ฐ€ ์ˆซ์ž๊ฐ€ ์•„๋‹ˆ๋ฉด 'user_lv'๋Š” 1์ด๋‹ค.

2. 'user_lv'๊ฐ€ 4๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด 'user_lv' ๋Š” 1์ด๋‹ค.

3. 'user_lv'๊ฐ€ 3๋ณด๋‹ค ํฌ๋ฉด solve(1)์„ ์‹คํ–‰ํ•˜๊ณ , br ํƒœ๊ทธ์— ์žˆ๋Š” level์„ 1์—์„œ 3.5๋กœ ๋‘”๋‹ค.

ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๋ฉด 3๋ณด๋‹ค ํฌ๋ฉด ํ•ด๊ฒฐ์ด ๋˜๋Š”๋ฐ 4๋ณด๋‹ค ํฌ๋ฉด 3๋ฒˆ์งธ ์กฐ๊ฑด์ด ์‹คํ–‰ํ•˜๊ธฐ ์ „์— 1๋กœ ์ดˆ๊ธฐํ™” ๋œ๋‹ค.
์ฆ‰, 3๋ณด๋‹ค ํฌ๊ณ  4๋ณด๋‹ค ์ž‘์€ ์–ด๋Š '์ˆ˜'๋ฅผ ์ง‘์–ด๋„ฃ์œผ๋ฉด ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ฒฐ๋ก  : 3 < 'user_lv' < 4 ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๊ฐ’์— 'user_lv'์— ๋„ฃ๊ณ  ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ๋ ˆ๋ฒจ์ด 'user_lv' ๋กœ ๋ณ€ํ•˜๊ณ  ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋œ๋‹ค.

profile
์ฝ”๋ฆฐ์ฝ”๋ฆฐ์ด

0๊ฐœ์˜ ๋Œ“๊ธ€