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
크롬 확장 프로그램을 이용해서 쉽게 바꿔줄수있다.

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

'웹해킹.kr' 카테고리의 다른 글
webhacking.kr 10번 Write Up :) 끾 (0) | 2019.12.15 |
---|---|
webhacking.kr 6번 Write Up :) 끾 (0) | 2019.12.15 |
webhacking.kr 3번 Write Up :) 끾 (0) | 2019.12.15 |
webhacking.kr 5번 Write Up :) (0) | 2019.12.14 |
SQL INJECTION Error Based-- group by 와 having 구문으로 컬럼,테이블 명 알기 (0) | 2018.07.29 |