webhacking.kr 1번 Write Up :)

2019. 12. 13. 00:46웹해킹.kr

webhacking.kr 1번 문제 Write up 입니다.

PHP 알고 있으면 바로 풀수있는 문제입니다.

<?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']>=6) $_COOKIE['user_lv']=1;
  if($_COOKIE['user_lv']>5) solve(1);
  echo "<br>level : {$_COOKIE['user_lv']}";
?>
<br>
<a href=./?view-source=1>view-source</a>
</body>
</html>

 

 소스 보기를 하면 위에 처럼 나오는데.

문제 해결을 위한 불필요한 소스는 없애고,

해석을 하자

<?php
  if(!$_COOKIE['user_lv']){  //만약에 user_lv라는 쿠키가 없을경우.....
    SetCookie("user_lv","1",time()+86400*30,"/challenge/web-01/"); 값 1 이라는 걸로 쿠키를 만든다.
  }
?>
<?php
  if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1; 만약 쿠키값이 숫자가 아닌 돌연변이일 경우. 쿠키값은 1로.
  if($_COOKIE['user_lv']>=6) $_COOKIE['user_lv']=1; 만약 user_lv 쿠키가 6보다 크거나 같을경우.. user_lv는 1.
  if($_COOKIE['user_lv']>5) solve(1);  user_lv가 5보다 클경우. 성공! 우힝:)
  echo "<br>level : {$_COOKIE['user_lv']}"; 쿠키 출력.
?>

user_lv 라는 쿠키값을  5<user_lv<=6   <- 조건 만족시키면 플래그가 나올것이다.

 

쿠키 값을 바꿔주는 방법은

https://chrome.google.com/webstore/detail/editthiscookie/fngmhnnpilhplaeedifhccceomclgfbg?hl=ko

 

EditThisCookie

EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다!

chrome.google.com

크롬 확장 프로그램을 이용해서 쉽게 바꿔줄수있다.

 

새로고침 한번 눌러주시면 됩니다.

 

자요.,..