1. PHP CGI 취약점(CVE-2012-1823)
- PHP 5.4.12 이전 버전의 sapi/cgi/cgi_main.c에서 CGI 스크립트가 질의 문자열을 제대로 처리하지 못하여 발생
1.1 옵션
-n : php.ini 파일을 사용하지 않는다.
-s : 소스 코드에 색을 반영하여 보여준다.
-d : php.ini에 정의된 설정 내용을 임의로 설정
1.2 실습
그림1. -s 옵션을 이용하여 소스코드 출력
설정 |
내용 |
allow_url_fopen=1 |
외부의 URL로부터 파일을 호출 |
allow_url_include=1 |
외부의 파일을 include,include_once, require, require_once와 같은 파일로 include를 허용 |
auto_prepend_file=php://input |
HTTP Request Body로 데이터를 가져와 실행 |
표1. -d 옵션을 이용한 설정 파일 변경
그림2. -d 옵션을 이용하여 /etc/passwd 파일 내용 출력
* 주의 !
- 그림2에서의 공격에서 -d 뒤에 auto_... 는 붙여도 공격이 가능하지만 auto_prepend_file 과 /etc/passwd 사이의 =는 반드시 %3d로 인코딩해서 넣어주어야 공격이 가능하다.
그림3. -d 옵션을 이용하여 /etc/passwd 파일 내용 출력
* 주의 !
- 띄어쓰기 하고 싶은 부분에는 +로 이어준다.
- 보고 싶은 결과를 Body 값 요청으로 전달해야 한다. -> /etc/passwd 뿐만 아니라 쉘에서 쓸 명령어들을 사용할 수도 있다.
2. 셸쇼크 취약점
- 'GNU Bash(Bourne Again Shell) 취약점
- CVE-2014-6271
- 배시(Bash) 셸이 환경 변수를 처리하는 과정에서 발생하는데, 공격자는 시스템의 보안을 우회하여 명령어를 실행할 수 있다.
'Hacking > Web' 카테고리의 다른 글
LFI&RFI (0) | 2017.03.08 |
---|---|
Command_injection (0) | 2017.03.08 |
A7 - 기능 수준의 접근 통제 누락 (0) | 2017.02.18 |
A6. 민감 데이터 노출 (0) | 2017.02.16 |
매직해시(Magic Hashes) 취약점 (0) | 2017.02.16 |