
구형 PHP를 업데이트하기 전 적용한 PHP2Shell 임시 조치가 작동하는지 확인하는 절차다. 아파치 설정을 검사하고 재시작한 뒤, 외부 요청과 웹에서 읽은 PHP 설정값을 점검한다.
sudo apache2ctl configtest sudo systemctl restart apache2
mod_php를 사용할 때는 reload만으로는 이전 설정을 유지하는 기존 워커가 남으므로 restart해야 한다.
다른 컴퓨터에서 아래 요청을 각각 보내면 모두 403이 반환돼야 한다. 해당 URL이 HTTPS로만 리디렉션되는 경우에는 301도 가능하다.
curl -s -o /dev/null -w '%{http_code}\n' -F x=1 https://example.com/
curl -s -o /dev/null -w '%{http_code}\n' -F x=1 http://example.com/
curl -s -o /dev/null -w '%{http_code}\n' -F x=1 -H 'Host: bogus' http://SERVER_IP/
curl -sk -o /dev/null -w '%{http_code}\n' -F x=1 -H 'Host: bogus' https://SERVER_IP/
200이 반환되면 요청이 여전히 서버에 도달한다는 뜻이다. 마지막 두 요청은 놓쳤을 수 있는 기본 가상 호스트를 확인한다.
PHP 설정은 php -i가 아니라 웹 요청으로 확인해야 한다. CLI는 다른 설정 파일을 읽기 때문이다. 아래 내용을 담은 임시 파일을 만들어 웹에서 불러온 뒤 삭제한다.
<?php echo ini_get('memory_limit'), ' ', ini_get('session.upload_progress.enabled');
예상 결과는 -1 다음에 빈 값 또는 0이 나오는 것이다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요