it 공부 일기 - 워게임 ctf 풀이 및 언어 강좌모음

webhacking 1번 문제 PHP 코드 해석 본문

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']>5solve(1);

 

- 만약에 user_lv 쿠키의 값이 5 초과라면 solve(1); 함수를 실행

 

echo "<br>level : {$_COOKIE['user_lv']}";

 

- echo 함수를 이용해 <br>level : {$_COOKIE['user_lv']} 를 출력한다 
- 그리고 {} 안에 넣어주면 변수로 인식한다.

 

 

'wargame code 해석' 카테고리의 다른 글

webhacking 14번 문제 js 코드 해석  (0) 2021.01.11
webhacking 6번 문제 php 코드 해석  (0) 2020.07.20