PHP를 컴파일할 때 특별한 필요가 없으면 CLI 명령줄 모드에서 PHP 구문 분석 지원을 컴파일하고 생성하는 것을 금지해야 합니다. --disable-CLI를 사용하여 컴파일할 수 있습니다. CLI 모드의 PHP가 컴파일되고 생성되면 침입자는 이 프로그램을 사용하여 WEB 셸 백도어 프로세스를 설정하거나 PHP를 통해 임의의 코드를 실행할 수 있습니다.
phpinfo()
함수 설명: PHP 환경 정보 및 관련 모듈, WEB 환경 및 기타 정보를 출력합니다.
위험 수준: 중간
passthru()
기능 설명: exec()와 유사하게 외부 프로그램을 실행하고 출력을 에코할 수 있습니다.
위험 수준: 높음
exec()
함수 설명: 외부 프로그램(예: UNIX Shell 또는 CMD 명령 등)의 실행을 허용합니다.
위험 수준: 높음
system()
기능 설명: passthru()와 유사하게 외부 프로그램을 실행하고 출력을 에코할 수 있습니다.
위험 수준: 높음
chroot()
함수 설명: 현재 PHP 프로세스의 작업 루트 디렉터리를 변경할 수 있습니다. 시스템이 CLI 모드 PHP를 지원하는 경우에만 작동할 수 있으며 이 함수는 Windows 시스템에는 적용되지 않습니다.
위험 수준: 높음
scandir()
함수 설명: 지정된 경로에 있는 파일 및 디렉터리를 나열합니다.
위험 수준: 중간
chgrp()
함수 설명: 파일이나 디렉터리가 속한 사용자 그룹을 변경합니다.
위험 수준: 높음
chown()
함수 설명: 파일 또는 디렉터리의 소유자를 변경합니다.
위험 수준: 높음
shell_exec()
함수 설명: Shell을 통해 명령을 실행하고 실행 결과를 문자열로 반환합니다.
위험 수준: 높음
proc_open()
함수 설명: 명령을 실행하고 읽기 및 쓰기를 위해 파일 포인터를 엽니다.
위험 수준: 높음
proc_get_status()
함수 설명: proc_open()을 사용하여 열린 프로세스에 대한 정보를 가져옵니다.
위험 수준: 높음
error_log()
함수 설명: 오류 정보를 지정된 위치(파일)로 보냅니다.
보안 참고사항: 일부 PHP 버전에서는 error_log()를 사용하여 PHP 안전 모드를 우회할 수 있습니다.
임의의 명령을 실행합니다.
위험 수준: 낮음
ini_alter()
함수 설명: ini_set() 함수의 별칭 함수이며 ini_set()과 동일한 기능을 가지고 있습니다. 자세한 내용은 ini_set()을 참조하세요.
위험 수준: 높음
ini_set()
함수 설명: PHP 환경 구성 매개변수를 수정하고 설정하는 데 사용할 수 있습니다.
위험 수준: 높음
ini_restore()
함수 설명: PHP 환경 구성 매개변수를 초기 값으로 복원하는 데 사용할 수 있습니다.
위험 수준: 높음
dl()
함수 설명: PHP가 실행 중인 동안(시작할 때가 아닌) PHP 외부 모듈을 로드합니다.
위험 수준: 높음
pfsockopen()
함수 설명: 인터넷 또는 UNIX 도메인에서 영구 소켓 연결을 설정합니다.
위험 수준: 높음
syslog()
함수 설명: UNIX 시스템의 시스템 계층 syslog() 함수를 호출할 수 있습니다.
위험 수준: 중간
readlink()
함수 설명: 심볼릭 링크가 가리키는 대상 파일의 내용을 반환합니다.
위험 수준: 중간
Symlink()
함수 설명: UNIX 시스템에서 기호 링크를 만듭니다.
위험 수준: 높음
popen()
함수 설명: 명령은 popen()의 매개 변수를 통해 전달될 수 있으며 popen()으로 연 파일에서 실행될 수 있습니다.
위험 수준: 높음
stream_socket_server()
함수 설명: 인터넷 또는 UNIX 서버 연결을 설정합니다.
위험 수준: 중간
putenv()
함수 설명: PHP 실행 시 시스템 문자 집합 환경을 변경하는 데 사용됩니다. 5.2.6 이전 버전의 PHP에서는 이 함수를 사용하여 시스템 문자 집합 환경을 수정한 다음 sendmail 명령을 사용하여 시스템 SHELL 명령을 실행하기 위한 특수 매개변수를 보낼 수 있습니다.
위험 수준: 높음