"홈페이지 잘 열리는데 뚫렸다?"…PHP 해킹, '정상 응답'의 함정
등록 2026.10.26 11:17:14
데이터독, 실험서 공격 명령 실행 뒤에도 웹서버 계속 작동
정상 응답 속 메모리 오류…접속·오류·실행 기록 함께 봐야
다른 프로그램에 포함된 PHP도 점검…업데이트 후 재시작
![[서울=뉴시스]전세계적으로 웹사이트 개발·운영에 널리 쓰이는 프로그래밍 언어 'PHP'의 웹홈페이지 전경. 왼쪽 하단에 "보안 권고: 치명적인 원격 코드 실행 취약점, 즉시 업데이트 하라"는 긴급 알람이 떠 있다. 2026.10.22. *DB 및 재판매 금지.](https://img1.newsis.com/2026/10/22/NISI20261022_0002270624_web.jpg?rnd=20261022100112)
[서울=뉴시스]전세계적으로 웹사이트 개발·운영에 널리 쓰이는 프로그래밍 언어 'PHP'의 웹홈페이지 전경. 왼쪽 하단에 "보안 권고: 치명적인 원격 코드 실행 취약점, 즉시 업데이트 하라"는 긴급 알람이 떠 있다. 2026.10.22. *DB 및 재판매 금지.
[서울=뉴시스]윤정민 기자 = 홈페이지가 정상적으로 열리고 서버가 멈추지 않았더라도 웹 언어 'PHP' 취약점 공격을 받지 않았다고 안심하기 어렵다는 분석이 나왔다. 공격자가 보낸 명령이 실행된 뒤에도 웹서버가 계속 작동할 수 있다는 점이 실험으로 확인됐다.
26일 보안업체 데이터독에 따르면 연구진이 최근 'PHP2쉘(PHP2Shell)' 취약점 가운데 하나를 실험 환경에서 재현한 결과 서버는 공격 명령을 실행하고도 정상 처리 응답을 내보냈다. 해당 요청을 처리한 웹서버 프로그램도 멈추지 않았다.
서버가 보낸 응답 코드는 요청을 정상적으로 처리했다는 뜻의 'HTTP 200'이었다. 다만 응답 내용 구석에는 메모리 부족 오류 흔적이 담겼다. 웹서버가 정상 응답을 내보냈는지만 겉으로 살피면, 서버 내부에서 해커의 악성 명령이 실행된 사실을 그대로 놓칠 수 있다는 뜻이다.
연구진은 PHP 8.5.11과 아파치 웹서버를 이용했다. PHP가 요청을 처리하는 데 필요한 메모리를 확보하지 못하도록 만든 뒤 오류를 수습하는 과정에서 공격 명령이 실행되도록 했다.
데이터독은 서버로 어떤 요청이 들어왔는지와 어떤 오류가 났는지뿐만 아니라 서버가 어떤 프로그램을 실행했는지 함께 살펴야 한다고 안내했다.
예를 들어 입력 항목의 이름이 유난히 길거나 구조가 복잡한 요청이 들어온 뒤 메모리 부족 오류가 났다면 자세히 살펴볼 필요가 있다. 서버로 보낸 데이터의 양이 적더라도 이를 처리하면서 많은 메모리를 쓸 수 있어 요청 크기만으로 판단해서는 안 된다.
메모리 부족 오류만으로 공격을 단정할 수도 없다. 정상적인 서비스 이용 중에도 생길 수 있기 때문이다. 웹서버가 평소와 달리 명령을 실행하는 프로그램인 '셸'을 띄웠는지 함께 확인해야 한다.
데이터독은 다른 프로그램에 포함된 PHP도 점검하도록 권고했다. 한 서버 안에서도 여러 버전의 PHP를 쓸 수 있어 관리자가 확인한 버전과 실제 홈페이지를 작동시키는 버전이 다를 수 있기 때문이다.
업데이트한 뒤에는 PHP를 사용하는 서버 프로그램도 모두 다시 시작하거나 새 버전으로 교체해야 한다. 파일만 업데이트하고 기존 프로그램을 계속 실행하면 취약한 PHP가 남아 있을 수 있다. 데이터독은 설정 변경으로 일부 공격 경로를 막을 수 있지만 완전한 해결에는 보안 패치가 필요하다고 강조했다.
◎공감언론 뉴시스 [email protected]
Copyright © NEWSIS.COM, 무단 전재 및 재배포 금지





























