실습> session 이해하기
1. 소스 코드 생성
1.php, 2.php를 생성한다.
/var/www/html/php 디렉터리로 이동한다.
[root@www html]# mkdir php
[root@www html]# cd php
[root@www php]# vi 1.php
<?
/*
* 파일명 : 1.php
* php 변수 형식 :
* $변수명 = 값;
*/
$a = 1;
echo $a;
?>
[root@www php]# vi 2.php
<?
/*
* 파일명 : 2.php
*/
echo $a;
?>
2. 프록시 Off
burp에서 프록시를 Intercept is off 로 꺼준다.
3. 브라우저 확인
1.php, 2.php를 확인한다.
http://192.168.108.101/php/1.php
1
http://192.168.108.101/php/2.php
Notice: Undefined variable: a in /var/www/html/php/2.php on line 6
4. 프록시 On
burp에서 프록시를 Intercept is on 으로 켜준다.
5. 브라우저 확인
1.php, 2.php를 확인한다.
http://192.168.108.101/php/1.php
1
GET /php/1.php HTTP/1.1
Host: 192.168.108.101
:
:(생략)
Cookie: PHPSESSID=evdm7287q06rei82qufic5ea82 <--
Connection: close
2.php는 1.php에서 설정한 변수 $a를 인식할 수 없다.
http://192.168.108.101/php/2.php
Notice: Undefined variable: a in /var/www/html/php/2.php on line 6
GET /php/2.php HTTP/1.1
Host: 192.168.108.101
:
:(생략)
Cookie: PHPSESSID=evdm7287q06rei82qufic5ea82 <--
Connection: close
6. 소스 코드 수정
1.php, 2.php를 수정한다.
[root@www php]# vi 1.php
<?
/*
* 파일명 : 1.php
* php 변수 형식 :
* 지역 변수는 메모리에 저장된다.
* $변수명 = 값;
*
* php 세션 변수 형식 :
* 세션 변수는 세션 파일에 저장된다.
* $_SESSION['변수명'] = 값;
*/
// 세션을 시작한다.
session_start();
// 세션 파일에 저장된다.
$_SESSION['a'] = 1;
echo $_SESSION['a'];
?>
다른 터미널을 열어서 세션 디렉터리로 이동한 후 세션 파일을 확인한다.
[root@www ~]# cd /var/lib/php/session/
[root@www session]# ls
sess_evdm7287q06rei82qufic5ea82
세션 파일에 a|i:1; 저장되어 있다.
[root@www session]# cat sess_evdm7287q06rei82qufic5ea82
userid|s:5:"admin";username|s:9:"관리자";a|i:1;
<?
/*
* 파일명 : 2.php
*/
session_start(); // 세션을 사용하기 위해서는 session_start(); 함수를 호출해야 사용할 수 있다.
// 세션 파일에서 세션 변수 a를 출력한다.
echo $_SESSION['a']; // 1
?>
7. 브라우저에서 확인
1.php, 2.php를 확인한다.
http://192.168.108.101/php/1.php
1
http://192.168.108.101/php/2.php
1
8. 세션 파괴하기
<?
/*
* 파일명 : 2.php
*/
// 세션을 사용하기 위해서는 session_start(); 함수를 호출해야 사용할 수 있다.
session_start();
session_destroy();
// 세션 파일에서 세션 변수 a를 출력한다.
echo $_SESSION['a']; // 에러
?>
'Linux > 모의해킹' 카테고리의 다른 글
| XSS 이용한 쿠키값 탈취 (0) | 2022.01.21 |
|---|---|
| 웹 세션 Hijacking (0) | 2022.01.21 |
| 터미널에서 로그인 / 로그아웃 분석하기 (0) | 2022.01.21 |
| 세션 파일을 이용한 로그인 분석 (0) | 2022.01.20 |
| SwitchyOmega 에서 Auto Switch 설정하기 (0) | 2022.01.20 |