실습> 웹 세션 Hijacking
1. 세션 파일 정리
세션 디렉터리로 이동해서 세션 파일들을 모두 삭제한다.
[root@www ~]# cd /var/lib/php/session
[root@www session]# rm -f *
2. 관리자 로그인
admin으로 로그인한다.
id : admin
pw : 111111
3. 세션 파일 확인
[root@www session]# ll
합계 4
-rw-------. 1 apache apache 44 1월 21 17:45 sess_3sb11omajcdfuae26pu4qfuen3
[root@www session]# cat sess_3sb11omajcdfuae26pu4qfuen3
userid|s:5:"admin";username|s:9:"관리자";
4. 시크릿 모드 활성화
브라우저에 시크릿 모드를 생성한다.
일반 모드의 브라우저와 시크릿 모드의 브라우저는 다르므로 세션을 쿠키로 저장했기 때문에
세션 디렉터리에서 확인해보면 2개의 세션 파일이 존재한다.
[root@www session]# ll
합계 4
-rw-------. 1 apache apache 44 1월 21 17:45 sess_3sb11omajcdfuae26pu4qfuen3 <-- 일반 모드
-rw-------. 1 apache apache 0 1월 21 17:49 sess_fd2atgt3eqnqjq062q28avjc45 <-- 시크릿 모드
5. 세션 값 수정
시크릿 모드에서 웹서버를 요청하고 일반 모드의 쿠키값을 시크릿 모드의 쿠키값으로 변조한다.
쿠키값을 변경하는 두 가지 방법
첫 번째 방법 : EditThisCookie
두 번째 방법 : burp
EditThisCookie
- 일반 모드에서 쿠키값을 복사해서 시크릿 모드의 쿠키값으로 덮어쓴다.
수정 전 시크릿 모드의 쿠키값 : fd2atgt3eqnqjq062q28avjc45
수정 후 시크릿 모드의 쿠기값 : 3sb11omajcdfuae26pu4qfuen3
burp
Proxy → Option 탭 → 하위 "Match and Replace" 항목 →
Add 클릭 → Type(Request header),
Match(Cookie:공백*.*), Replace(Cookie:공백[피해자 Session Cookie]), Regex match 체크
Type : Request header
Match: Cookie: *.*
Replace: Cookie: PHPSESSID=3sb11omajcdfuae26pu4qfuen3
공격자가 세션을 탈취했다면 관리자의 권한을 행사하는 경우는 관리자가 로그인이 되어 있어야 한다.
단 일반 모드에서 로그인한 사용자가 계속 로그인이 되어 있다는 가정에서...
관리자가 로그아웃을 하면 공격자도 로그아웃된 상태로 유지되기 때문이다.
이유는 로그아웃을 하면 session_destroy(); 함수에 의해서 세션이 파괴되기 때문이다.
'Linux > 모의해킹' 카테고리의 다른 글
| stored XSS (0) | 2022.01.21 |
|---|---|
| XSS 이용한 쿠키값 탈취 (0) | 2022.01.21 |
| session 이해하기 (0) | 2022.01.21 |
| 터미널에서 로그인 / 로그아웃 분석하기 (0) | 2022.01.21 |
| 세션 파일을 이용한 로그인 분석 (0) | 2022.01.20 |