운영 및 유지보수 안전 Apache 축 구성 요소의 원격 명령 실행 취약점을 해결하는 방법

Apache 축 구성 요소의 원격 명령 실행 취약점을 해결하는 방법

Nov 27, 2019 pm 05:41 PM
apache 수리하다

Apache 축 구성 요소의 원격 명령 실행 취약점을 해결하는 방법

최근 Sangfor는 Apache 축 구성 요소의 원격 명령 실행 취약점을 악용하는 방법을 발견했습니다. 이 취약점의 본질은 관리자의 잘못된 AdminService 구성으로 인해 발생합니다. enableRemoteAdmin 속성이 true로 설정되면 공격자는 생성된 WebService에 직접 액세스할 때 AdminService 인터페이스를 원격으로 사용할 수 있습니다. WebService 인터페이스를 통해 그는 내부 참조 클래스를 트리거하여 원격 명령 실행 취약점을 악용할 수 있습니다. enableRemoteAdmin属性设置为true时,攻击者可以远程利用AdminService接口自行发布构造的WebService,再次访问生成的WebService接口时,就可以触发内部引用的类进行远程命令执行漏洞的利用。

axis 组件介绍

axis 全称Apache EXtensible Interaction System 即Apache可扩展交互系统。axis 为创建服务器端、客户端和网关SOAP等操作提供基本框架。axis 目前版本主要面向Java,面向C++的版本正在开发中。axis 并不完全是一个SOAP引擎,还可以作为一个独立的SOAP服务器和一个嵌入Servlet引擎(例如Tomcat)的服务器。

漏洞分析

漏洞本质是管理员对AdminService的配置错误。当enableRemoteAdmin属性设置为true时,攻击者可以构造WebService调用freemarker组件中的template.utility.Execute类,远程利用AdminService接口进行WebService发布,再次访问生成的WebService接口,传入要执行的命令,就可以进行远程命令执行漏洞的利用。

漏洞复现

搭建axis 1.4+tomcat6的环境,将AdminService配置中的enableRemoteAdmin属性设置为true。

传入构造好的数据进行WebService发布,如下图:

Apache 축 구성 요소의 원격 명령 실행 취약점을 해결하는 방법

再调用WebService接口传入命令并执行,如下图:

Apache 축 구성 요소의 원격 명령 실행 취약점을 해결하는 방법

修复建议

1、配置 URL 访问控制策略:部署于公网的 axis  服务器,可通过 ACL 禁止对/services/AdminService/services/FreeMarkerService 路径的访问。

2、禁用 axis  远程管理功能:axis WEB-INF 文件夹中的 server-config.wsdd 文件,将其中"enableRemoteAdmin

axis 구성 요소 소개

axis 전체 이름Apache 확장 가능한 상호 작용 시스템은 Apache의 확장 가능한 상호 작용 시스템입니다. axis는 서버 측, 클라이언트 측 및 게이트웨이 SOAP 작업을 생성하기 위한 기본 프레임워크를 제공합니다. 현재 버전의 axis는 주로 Java용이며, C++용 버전은 개발 중입니다. axis는 엄밀히 말하면 SOAP 엔진은 아니지만 독립형 SOAP 서버 및 서블릿 엔진(예: Tomcat)에 내장된 서버로도 사용할 수 있습니다.

취약점 분석#🎜🎜##🎜🎜#취약점의 본질은 관리자의 것입니다. AdminService 구성이 잘못되었습니다. 활성화RemoteAdmin 속성이 true로 설정되면 공격자는 WebService를 구성하여 freemarker 구성 요소의 template.utility.Execute 클래스를 원격으로 호출할 수 있습니다. AdminService 인터페이스 활용 WebService를 게시하고 생성된 WebService 인터페이스에 다시 액세스한 다음 실행할 명령을 전달하여 원격 명령 실행 취약점을 악용합니다. #🎜🎜##🎜🎜#취약점 재현#🎜🎜##🎜🎜#Build axis 1.4+ In tomcat6 환경에서는 AdminService 구성의 활성화RemoteAdmin 속성을 true로 설정합니다. #🎜🎜##🎜🎜# 아래와 같이 WebService 게시를 위해 구성된 데이터를 전달합니다. #🎜🎜##🎜🎜#Apache 축 구성 요소의 원격 명령 실행 취약점을 해결하는 방법#🎜🎜##🎜🎜# 그런 다음 WebService 인터페이스를 호출하여 명령을 전달하고 실행합니다. 그것은 아래와 같이 : #🎜🎜## 🎜🎜# #🎜 🎜##🎜🎜#복구 제안#🎜🎜##🎜🎜#1. URL 액세스 구성 제어 정책: 배포 공용 네트워크의 축 서버의 경우 ACL을 통해 /services/AdminService/services/FreeMarkerService 경로에 대한 액세스를 금지할 수 있습니다. #🎜🎜##🎜🎜#2. 축 원격 관리 기능 비활성화: 축 WEB-INF 폴더에 있는 server-config.wsdd 파일을 수정하여 "enableRemoteAdmin" 값이 false로 설정되어 있습니다. #🎜🎜##🎜🎜# 웹 보안에 대해 더 자세히 알고 싶다면 다음을 방문하세요: #🎜🎜#webserversecurity#🎜🎜##🎜🎜#

위 내용은 Apache 축 구성 요소의 원격 명령 실행 취약점을 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

부트 스트랩 테이블을 풀기 위해 서버 측에서 문자 인코딩을 설정하는 방법 부트 스트랩 테이블을 풀기 위해 서버 측에서 문자 인코딩을 설정하는 방법 Apr 07, 2025 pm 12:00 PM

서버 측에서 문자 인코딩을 설정하려면 Bridble Bootstrap 테이블을 해결하려면 다음 단계를 따라야합니다. 서버 문자 인코딩을 확인하십시오. 서버 구성 파일 편집; 인코딩을 UTF-8로 설정하십시오. 서버를 저장하고 다시 시작합니다. 인코딩을 확인하십시오.

Apache에서 CGI 디렉토리를 설정하는 방법 Apache에서 CGI 디렉토리를 설정하는 방법 Apr 13, 2025 pm 01:18 PM

Apache에서 CGI 디렉토리를 설정하려면 다음 단계를 수행해야합니다. "CGI-BIN"과 같은 CGI 디렉토리를 작성하고 Apache 쓰기 권한을 부여하십시오. Apache 구성 파일에 "Scriptalias"지시록 블록을 추가하여 CGI 디렉토리를 "/cgi-bin"URL에 매핑하십시오. Apache를 다시 시작하십시오.

아파치를 시작하는 방법 아파치를 시작하는 방법 Apr 13, 2025 pm 01:06 PM

Apache를 시작하는 단계는 다음과 같습니다. Apache 설치 (명령 : Sudo apt-get Apache2를 설치하거나 공식 웹 사이트에서 다운로드) 시작 apache (linux : sudo systemctl start : windes (선택 사항, Linux : Sudo SystemCtl

Debian OpenSSL 구성을 확인하는 방법 Debian OpenSSL 구성을 확인하는 방법 Apr 12, 2025 pm 11:57 PM

이 기사는 데비안 시스템의 OpenSSL 구성을 확인하여 시스템의 보안 상태를 신속하게 파악하는 데 도움이되는 몇 가지 방법을 소개합니다. 1. OpenSSL 버전을 먼저 확인하고 OpenSSL이 설치되었는지 확인 및 버전 정보를 확인하십시오. 터미널에 다음 명령을 입력하십시오. OpenSSLVERSION이 설치되지 않으면 시스템에 오류가 발생합니다. 2. 구성 파일을 봅니다. OpenSSL의 기본 구성 파일은 일반적으로 /etc/ssl/openssl.cnf에 있습니다. 텍스트 편집기 (예 : Nano)를 사용하여 Sudonano/etc/ssl/openssl.cnf이 파일에는 키, 인증서 경로 및 암호화 알고리즘과 같은 중요한 구성 정보가 포함되어 있습니다. 3. Ope를 활용하십시오

Apache의 서버 이름 이상을 삭제하는 방법 Apache의 서버 이름 이상을 삭제하는 방법 Apr 13, 2025 pm 01:09 PM

Apache에서 추가 ServerName 지시문을 삭제하려면 다음 단계를 수행 할 수 있습니다. 추가 ServerName Directive를 식별하고 삭제하십시오. Apache를 다시 시작하여 변경 사항이 적용됩니다. 구성 파일을 확인하여 변경 사항을 확인하십시오. 서버를 테스트하여 문제가 해결되었는지 확인하십시오.

웹 사이트 성과를 향상시키기 위해 Debian Apache Logs를 사용하는 방법 웹 사이트 성과를 향상시키기 위해 Debian Apache Logs를 사용하는 방법 Apr 12, 2025 pm 11:36 PM

이 기사는 데비안 시스템에서 Apache Logs를 분석하여 웹 사이트 성능을 향상시키는 방법을 설명합니다. 1. 로그 분석 기본 사항 Apache Log는 IP 주소, 타임 스탬프, 요청 URL, HTTP 메소드 및 응답 코드를 포함한 모든 HTTP 요청의 자세한 정보를 기록합니다. 데비안 시스템 에서이 로그는 일반적으로 /var/log/apache2/access.log 및 /var/log/apache2/error.log 디렉토리에 있습니다. 로그 구조를 이해하는 것은 효과적인 분석의 첫 번째 단계입니다. 2. 로그 분석 도구 다양한 도구를 사용하여 Apache 로그를 분석 할 수 있습니다.

Apache의 데이터베이스에 연결하는 방법 Apache의 데이터베이스에 연결하는 방법 Apr 13, 2025 pm 01:03 PM

Apache는 데이터베이스에 연결하여 다음 단계가 필요합니다. 데이터베이스 드라이버 설치. 연결 풀을 만들려면 Web.xml 파일을 구성하십시오. JDBC 데이터 소스를 작성하고 연결 설정을 지정하십시오. JDBC API를 사용하여 Connections, 명세서 작성, 매개 변수 바인딩, 쿼리 또는 업데이트 실행 및 처리를 포함하여 Java 코드의 데이터베이스에 액세스하십시오.

Apache 버전을 보는 방법 Apache 버전을 보는 방법 Apr 13, 2025 pm 01:15 PM

APACHE 서버에서 버전을 보는 3 가지 방법이 있습니다. 명령 줄 (APACHECTL -V 또는 APACHE2CTL -V)을 통해 서버 상태 페이지 (http : // & lt; 서버 IP 또는 도메인 이름 & gt;/server -status)를 확인하거나 APACHE 구성 파일 (ServerVersion : Apache/& lt; 버전 번호 & gt;).

See all articles