-
WebHacking Challenge(old) - 01IT Tech/웹 모의해킹 2020. 12. 12. 13:50
챌린지(old)를 하나 풀어보았다.
<?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>
$_COOKIE['값'] PHP에서 쿠키를 읽어들이는데 사용된다.
크롬에서 F12 > 개발자 환경 > Application 에서 user_lv 값이 1로 되있는 것을 확인하였다.
뭐 이건 그렇다치고..
이 부분을 잘 보았는데..
<?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']}"; ?>
첫 문장은 쿠키값이 숫자인지 확인해서 아니라면 1로 세팅해주는 것.
다음은 6보다 크거나 같으면 1로 세팅하는 것.
다음은 5보다 크면 solve(1)함수를 실행하는 것으로 나와있다고 판단했다.
그리고 echo 를 통해 쿠키값을 출력해주게 되어있다.
PHP를 손으로 좀 만들어본 경험이 있어서 그런지 나름 읽히는 것 같다.
https://webhacking.kr/old.phpwebhacking.kr/
반응형