이 글의 내용은 PHP 환경에 대한 소개입니다. 관심 있는 친구들은 살펴보고, 도움이 필요한 학생들에게 참고할 수도 있습니다.
코드는 다음과 같습니다. 다른 환경에서 실행됨 결과는 매우 다를 수 있습니다. 매우 위험한 취약점이 악용될 수 있는 구성 문제 때문일 수도 있고, 취약점을 발견했지만 구성 문제로 인해 악용되지 않았을 수도 있습니다. 오랫동안 성공적인 익스플로잇 코드를 구축하는 것입니다. 그러나 구성 지침은 PHP 버전마다 다를 수 있습니다. 새 버전에서는 일부 지침을 추가하거나 삭제하거나 지침의 기본 설정 또는 고정 설정을 변경할 수 있습니다. 따라서 코드 감사 전에 PHP의 모든 측면에 대해 잘 알고 있어야 합니다. 버전에 포함된 구성 파일의 핵심 지침만이 고품질 취약점을 효율적으로 마이닝할 수 있습니다.
상수 | 의미 |
PHP __INI__ USER | 이 구성 옵션은 사용자의 PHP 스크립트에 등록할 수 있습니다. 또는 Windows 테이블에 설정 |
PHP__INI__PERDIR | 이 구성 옵션은 php.ini ..htaccess 또는 http.conf |
에서 설정할 수 있습니다. PHP__ INI__시스템 | 이 구성 옵션은 php.ini 또는 http.conf |
PHP__INI__ALL | 이 구성 옵션은 어디에서나 설정할 수 있습니다 |
php.ini ini 전용 | 이 설정 옵션은 php.ini |
PHP에는 수백 개의 구성 파일 지침이 있으므로 여기서는 하나씩 소개하지 않겠습니다. 이 측면에 관심이 있는 경우 공식 PHP 구성 문서(http://www.php)에서 구체적인 내용을 확인할 수 있습니다. net/ manual/zh/ini.list.php
(1) open_basedir 설정
open_basedir은 응용 프로그램이 액세스할 수 있는 디렉터리를 제한할 수 있습니다. 물론 일부는 설정되어 있는지 확인하세요. 예를 들어, Apache의 php_admin_value, nginx+fcgi는 conf를 통해 제어됩니다.
(2)allow_url_fopen 설정
allow_url_fopen=ON이면 PHP는 원격 파일을 읽어서 작업할 수 있으며, 이는 공격자가 쉽게 악용할 수 있습니다.
(3)allow_url_include 설정
allow_url_include=ON이면 PHP에 원격 파일이 포함될 수 있으며 이로 인해 심각한 취약점이 발생할 수 있습니다.
(4) safe_mode_exec_dir 설정
이 옵션은 php에서 호출할 수 있는 외부 명령의 디렉터리를 제어할 수 있습니다. php 프로그램에서 호출되는 외부 명령이 있는 경우 외부 명령의 디렉터리를 알면 위험을 제어할 수 있습니다. 프로그램의.
(5) Magic_quote_gpc 설정
이 옵션은 매개변수에 제출된 특수 문자를 피할 수 있습니다. Magic_quote_gpc=ON으로 설정하는 것이 좋습니다.
(6) Register_globals 설정
이 옵션을 켜면 PHP가 외부에서 제출됩니다. 변수가 전역 변수로 등록되어 결과가 매우 심각합니다.
(7) safe_mode 설정
safe_mode는 PHP의 중요한 보안 기능이므로 켜는 것이 좋습니다.
(8) session_use_trans_sid 설정
session_use_trans_sid가 활성화되면 PHP는 세션 ID를 다음을 통해 전달합니다. 공격자로 연결되는 URL 현재 세션을 쉽게 가로채거나 공격자가 이미 제어하는 기존 세션을 사용하도록 사용자를 속입니다.
(9) display_errors 설정
이 옵션을 활성화하면 PHP는 모든 오류 또는 경고 정보를 출력하며 공격자는 이 정보를 이용하여 웹 루트 경로와 같은 민감한 정보를 얻을 수 있습니다.
(10) 노출_php 설정
노출_php 옵션이 활성화된 경우 이를 해석하는 PHP에서 생성된 모든 응답에는 호스트 시스템에 설치된 PHP 버전이 포함됩니다. 원격 서버에서 실행되는 PHP 버전을 알면 공격자가 시스템에 대해 알려진 추출 방법을 열거할 수 있어 공격 성공 가능성이 크게 높아집니다.
(11) Magic_quotes_sybase (마법의 따옴표 자동 필터링)
magic_quotes_sybase 명령은 특수 문자를 자동으로 필터링하는 데 사용됩니다. on으로 설정하면 Magic_quotes_gpc=on의 구성을 덮어쓰게 됩니다. 즉, gpc는 time =on으로 구성된 경우에도 효과가 없습니다. 이 명령과 gpc의 공통점은 처리되는 개체가 동일하다는 것입니다. 즉, 둘 다 POSTGETCookie를 처리한다는 것입니다.
(12) 비활성화_함수(비활성화 기능)
정식 프로덕션 환경에서는 PHP를 보다 안전하게 실행하기 위해 비활성화_함수 지시문을 사용하여 일부 민감한 기능의 사용을 금지할 수도 있습니다. 일부 위험한 기능을 금지하기 위해 이 지시문을 사용하려면, 금지 목록에 dl() 함수를 추가해야 합니다. 왜냐하면 공격자가 dl() 함수를 사용하여 사용자 정의 PHP 확장을 로드하여 비활성화_함수 지시문의 제한 사항을 돌파할 수 있기 때문입니다.
관련 추천:
위 내용은 PHP 코드 감사 - 2. PHP 코드 감사의 PHP 환경 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!