PHP SESSION을 통한 RCE에 대해서 알아보자.
기본적으로 php는 session에 대한 파일을 서버내에서 파일로 저장하게된다. 또한 이 세션 파일안에는 사용자인증정보에 대한 정보가 들어있다.
우분투와 데비안은 /var/lib/php5
redhat, centos는 /var/lib/phpsession
파일이름은 sess_{$sessionid} 이러한 규칙으로 되어있다.
만약 사용자측에 인증정보를 SESSIONDATA 에 담는 경우와 LFI 취약점이 존재하여 세션파일이 다운로드가 가능하다면
RCE 가 가능하다.
즉 login=admin&password=1234 일때 login=admin=&password=<?php system("cat /etc/passwd");?> 이런식으로 세션 파일안에 system 명령에 관한 함수 결과값을 확인할수가 있다.
출처 & 좋은 자료
https://blog.rubiya.kr/index.php/2018/11/28/rce-by-lfi-using-php-session-file-without-angle-bracket/
https://www.rcesecurity.com/2017/08/from-lfi-to-rce-via-php-sessions/
'Web security' 카테고리의 다른 글
PYTHON - EVAL & __builtin__ (0) | 2019.09.04 |
---|---|
PYTHON - PICKLE (0) | 2019.09.04 |
Secret WarGame - Web (0) | 2019.09.04 |
WEB - SSRF (0) | 2019.09.03 |
PHP JAIL (0) | 2019.09.02 |