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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

■ 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

  • 리눅스 리다이렉션(Redirection)

    웹 상에서 리다이렉션(Redirection)은 웹 브라우저가 특정 URL을 요청했을 때, 미리 지정된 다른 URL로 재요청하게 하는 것을 말합니다. 재 연결의 사전적인 의미를 가진 Redirection은 리눅스에서 입력과 출력을 다루는 방식으로, 데이터를 파일로 보내거나 파일에서 읽어오는 작업을 수행할 수 있게 해줍니다. 리눅스 리다이렉션은은 키보드로 입력, 화면으로 출력을 하는 것이 아니라 파일로 출력하는 것을 의미합니다. 리다이렉션에는 표준…

  • SSL 보안인증서 설치(CentOS 7)

    SSL 보안인증서는 한국·해외 웹사이트에서 필수 요소 중 하나입니다. SSL 보안인증서 설치 후 운영이 필요한 이유는 광고가 아닌 유기적 트래픽을 원할 경우 SSL(TLS) 인증서는 검색엔진최적화(SEO)에 필수 항목 중 하나이기 때문입니다. SSL 보안인증서는 사용자와 서버의 통신이 암호화되어 중간에 해커가 데이터를 가로채지 못하도록 하는 방화벽입니다. SSL 보안인증서 설치 방법 위 두 항목이 웹서버에 설치되어 있다면 개인키를…

  • 리눅스 who, w 명령어 & user 명령어

    리눅스 who 명령어는 현재 서버에 로그인한 사용자 리스트를 보여주는 명령어입니다. w 명령어는 현재 시스템에 로그인한 사용자와 사용자의 작업 내용을 보여주는 명령어로 각각의 차이가 있습니다. ✅ 리눅스 who 명령어 현재 접속 사용자(USER) 터미널 유형(TTY) 접속 시간 및 IP rocky pts/0, pts/1 .. 2070-02-09 10:15 (xxx.xx.xx8.254) ✅ 리눅스 w 명령어 w 명령어 확인 정보 설명…

  • 리눅스 wget 명령어

    wget 명령어는 웹의 다운로드 링크를 리눅스 커멘드라인에서 실행해 다운로드를 할 수 있는 명령어입니다. HTTP, HTTPS, FTP 프로토콜을 이용해서 웹 서버에서 다운로드가 가능합니다. wget 설치하기 레드헷 계열에서 사용하는 패키지 매니저인 yum으로 wget 설치를 진행합니다. 기본 다운로드 명령입니다. wget 명령어 옵션 다운로드 중 중단 되었다면 -c 옵션을 이용해서 이어 받을 수 있습니다. 대용량 파일을 다운로드…

  • 리눅스 ls 명령어

    ls 명령어는 list의 약자이며, 리눅스 파일과 디렉토리를 볼 수 있는 명령어입니다. 파일의 종류와 파일의 크기, 만들어진 날짜 등의 정보를 확인할 수 있습니다. ✅ ls 명령어 기본 사용 방법 ls 명령어 사용 시 [파일 or 디렉토리]를 입력하지 않으면 현재 디렉토리를 검색합니다. ✅ ll 명령어(ls -l) ll 명령어는 일반적으로 리눅스에서 ls -l 명령어를 간편하게 쓰기…

  • 리눅스: lrzsz 툴 설치 및 파일 업로드(rz) 및 다운로드(sz) 사용하기

    리눅스 OS에서 rz와 sz를 이용한 각각의 파일 업로드 및 다운로드 명령어를 실행시키기 위해 lrzsz가 서버에 설치되어 있어야 합니다. lrzsz 툴 설치 후 rz와 sz는 ZMODEM/YMODEM/XMODEM을 지원하는 프로토콜에서 파일 송수신이 가능합니다. Xshell을 사용해서 lrzszs 툴을 설치해 보겠습니다. lrzsz 툴 설치 CentOS, Ubuntu, Rocky Linux 중에 록키 리눅스 명령어로 설치 했습니다. rz 명령어[업로드] PC에서 >…

답글 남기기

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

Prove your humanity: 9   +   3   =