PHPunit 원격코드: eval-stdin.php 취약점

■ PHPunit 원격코드 – eval-stdin.php 취약점 공격

PHPunit 원격코드


‘PHPunit 원격코드’ 공격으로 리눅스 서버 load average가 기하 급수적으로(10 이상을 넘어 20까지도 올라가 있는 상태를 확인함.) 올라 갔다.

‘PHPunit’  : 프로그래밍 언어를 위한 유닛 테스트 프레임워크 / Sebastian Bergmann에서 개발함.

Sebastian Bergmann 에서 제공하는 펌웨어 설치


 

uknew.co 138.199.14.143 - - [25/Jan/2021:03:18:16 +0900] "GET //vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php HTTP/1.1" 200 500 "-" "python-requests/2.24.0"

 
1초 마다 2~3 개의 로그가 계속 로드되면서 서버 과부하를 일으킴.

□ PHPunit 원격코드 – eval-stdin.php  취약점 원인

확인된 취약점은 ‘eval-stdin.php’ 의 페이지 요청이 되면서 제대로 된 인증이 존재하지 않아 발생하는 것임.

□ eval-stdin.php 취약점 해결

PHPunit9를 사용하기 위해 다운로드 후 실행 가능하도록 설정. phpunit 지원 페이지에서 서버의 php 버전에 맞는 PHPunit 을 다운로드 받아 설치해야 함.
일부 접속은 막는 것을 확인했지만 전체를 막지는 못함. 이럴 때 서버의 기본 URL을 빈 칸으로 리턴하도록 설정하여 공격 방어가 가능함. 아이피 리턴 또는 메인 도메인 주소 등으로 리턴하는걸 추천함. 개인 서버일 경우. 퍼블릭 IP로 들어온다면 리턴 설정이 가능하지만.. 외부 IP면 방화벽 차단을 하고, 공용서버의 경우 일일이 도메인마다 설정이 어려울 수도 있다. 이렇게 해야 들어오는 공격을 막을 수 있음. 도메인보다는 IP 위주로 ServerName 값을 설정하는 걸 권장함.
이 글에 올린 내용과 서버에서의 해결이 어렵다면 개발자의 영역임.

구글 크롬 노트북(PC) google-chrome-notebook

Similar Posts

  • Apache http2 적용하기(mod_http2)

    리눅스 서버에 Apache를 설치하게 되면, 기본 프로토콜은 HTTP/1.1을 기본으로 통신하게 되어 있다. Apache http2는 Apache 2.4.17 버전 부터 DSO 모듈로(mod_http2.so) HTTP/2를 지원한다. HTTP/2(Hypertext Transfer Protocol Version 2)는 월드 와이드 웹에서 쓰이는 HTTP 프로토콜의 두 번째 버전이다. 목차■ PHPunit 원격코드 – eval-stdin.php 취약점 공격□ PHPunit 원격코드 – eval-stdin.php  취약점 원인□ eval-stdin.php 취약점 해결Apache http2…

  • HTTP 500 에러(내부 서버 오류)

    HTTP 500 에러는 이용 중인 컴퓨터, 인터넷의 문제가 아닌 내부 서버 오류입니다. 목차■ PHPunit 원격코드 – eval-stdin.php 취약점 공격□ PHPunit 원격코드 – eval-stdin.php  취약점 원인□ eval-stdin.php 취약점 해결 ✅ HTTP 500 에러 HTTP 500 error로 발생하는 원인은 다양합니다. 다른 사이트 역시 마찬가지이지만 주로 워드프레스 사이트에서 .htaccess 파일이 변경된 경우일 수 있으며, 서버의 DB에서…

  • SELinux 개념과 보안 설정

    SELinux(Security-Enhanced Linux)란 보안을 강화하기 위해 개발된 리눅스 커널의 보안 기능 중 하나입니다. 셀리눅스는 컴퓨터 시스템의 보안을 강화하기 위해 NSA(National Security Agency:미국 국가안보국)와 레드햇(Red Hat) 등의 기업과 개발자들이 협력하여 개발했습니다. zero-day 공격 및 buffer overflow 등 어플리케이션 취약점으로 인한 해킹을 방지해 주는 핵심 구성요소에 속하지만APM 설치 후 사용하는데 오류가 발생하는 등 불편함이 있습니다. 잘…

  • PHP-FPM이란 | PHP-FPM 설치 및 설정

    PHP-FPM을 시작하기 전에 CGI에 대해 알아야 합니다. CGI(Common Gateway Interface)는 웹 서버와 외부 프로그램 사이의 상호작용을 위한 표준 프로토콜이며, 웹 서버는 사용자 요청에 따라 동적으로 콘텐츠를 생성하거나 데이터를 처리할 수 있습니다. 요청이 들어올 때 마다 각각의 요청으로 CGI가 생성되게 되어 서버의 속도는 느려질 수 밖에 없습니다. CGI(Common Gateway Interface)의 업그레이드 버전으로 서버의 성능을…

  • Apache MPM Module: Prefork, Worker, Event 3가지 방식 비교 및 Event Module 최적화 설정

    Apache MPM Module은 Apache HTTP Server의 중요한 부분으로, 서버의 요청 처리 방식을 결정합니다. MPM(Multi-Processing Module)은 서버의 성능과 확장성에 큰 영향을 미치는 역할을 합니다. 목차■ PHPunit 원격코드 – eval-stdin.php 취약점 공격□ PHPunit 원격코드 – eval-stdin.php  취약점 원인□ eval-stdin.php 취약점 해결 ✅ MPM Module(Multi-Processing Module) MPM 모듈은 서버가 요청을 처리하는 방식을 정의하며, 서버의 성능, 안정성,…

  • 리눅스 find 명령어

    리눅스 find 명령어는 여러가지 다양한 기준으로 파일을 효율적으로 검색할 때 사용할 수 있는 명령어입니다. 특정 파일을 찾거나 특정 문자 패턴에 맞춰서 검색, 특정 확장자의 파일 검색, 특정 소유자, 파일 사이즈, 퍼미션, 등의 다양한 방법을 사용할 수 있습니다. find 명령어는 파일을 찾는 기본 역할 외에도 찾은 파일에 대한 퍼미션 변경, 소유자 변경, 파일 삭제…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 7   +   4   =