wargame code 해석
webhacking 1번 문제 PHP 코드 해석
kimtong
2020. 7. 20. 17:09
hacking 1번 문제에서 제공안 소스코드는
가 있는것을 볼 수가 있다.
먼저 include 는 지정한 파일을 포함하는것이다.
더보기
include 예로 설명
-- a.php --
echo "hello";
- echo 함수를 이용해 hello 이라는것을 출력
-- index.php --
include("a.php");
echo "world";
- index.php 에 a.php 가 포함되어 웹에는 helloworld 이라는 문구가 뜨게 된다.
이런식으로 파일을 불러와서 포함을 시킨다음 함수를 이용해 새로운 기능을 만들 수가 있는것이다.
include "../../config.php";
- include 함수로 ../../ 위치에있는 config.php 를 포함시킴
if($_GET['view-source'] == 1){ view_source(); }
- 만약에 $_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>");
}
- 만약에 $_COOKIE 배열 중에 user_lv 이라는 키의 값이 존재하지 않다면
- setcookie 함수를 이용해 쿠키를 생성
{
cookie 이름 - user_lv
cookie user_lv 의 값 - "1"
cookie user_lv 의 만료시간 - time()+86400*30
cookie user_lv 의 경로 설정 - /challenge/web-01/
}
- echo 함수를 이용해 페이지 소스에 <meta http-equiv=refresh content=0> 를 출력
if(!is_numeric($_COOKIE['user_lv'])) $_COOKIE['user_lv']=1;
- 만약에 is_numeric 로 확인한 쿠키 user_lv 의 값이 숫자가 아니라면 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 초과라면 solve(1); 함수를 실행
echo "<br>level : {$_COOKIE['user_lv']}";
- echo 함수를 이용해 <br>level : {$_COOKIE['user_lv']} 를 출력한다
- 그리고 {} 안에 넣어주면 변수로 인식한다.