Rumah Operasi dan penyelenggaraan Keselamatan 如何修复Apache axis组件远程命令执行漏洞

如何修复Apache axis组件远程命令执行漏洞

Nov 27, 2019 pm 05:41 PM
apache pembaikan

如何修复Apache axis组件远程命令执行漏洞

近日,深信服发现Apache axis 组件远程命令执行漏洞利用方式。该漏洞本质是由于管理员对AdminService配置错误,当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发布,如下图:

39f292706090c92952b5f265b1cda59.png

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

58cc9928881af27bd16e32c49da7b61.png

修复建议

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

2、禁用 axis  远程管理功能:axis <=1.4 版本默认关闭了远程管理功能,如非必要请勿开启。若需关闭,则需修改 axis目录下 WEB-INF 文件夹中的 server-config.wsdd 文件,将其中"enableRemoteAdmin"的值设置为false。

想了解更多关于web安全的知识,请访问:web服务器安全

Atas ialah kandungan terperinci 如何修复Apache axis组件远程命令执行漏洞. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menetapkan direktori CGI di Apache Cara menetapkan direktori CGI di Apache Apr 13, 2025 pm 01:18 PM

Untuk menubuhkan direktori CGI di Apache, anda perlu melakukan langkah-langkah berikut: Buat direktori CGI seperti "CGI-Bin", dan memberikan kebenaran menulis Apache. Tambah blok arahan "Scriptalias" dalam fail konfigurasi Apache untuk memetakan direktori CGI ke url "/cgi". Mulakan semula Apache.

Apa yang Harus Dilakukan Sekiranya Pelabuhan Apache80 Diduduki Apa yang Harus Dilakukan Sekiranya Pelabuhan Apache80 Diduduki Apr 13, 2025 pm 01:24 PM

Apabila port Apache 80 diduduki, penyelesaiannya adalah seperti berikut: Cari proses yang menduduki pelabuhan dan tutupnya. Semak tetapan firewall untuk memastikan Apache tidak disekat. Jika kaedah di atas tidak berfungsi, sila buat semula Apache untuk menggunakan port yang berbeza. Mulakan semula perkhidmatan Apache.

Cara menyambung ke pangkalan data Apache Cara menyambung ke pangkalan data Apache Apr 13, 2025 pm 01:03 PM

Apache menyambung ke pangkalan data memerlukan langkah -langkah berikut: Pasang pemacu pangkalan data. Konfigurasikan fail web.xml untuk membuat kolam sambungan. Buat sumber data JDBC dan tentukan tetapan sambungan. Gunakan API JDBC untuk mengakses pangkalan data dari kod Java, termasuk mendapatkan sambungan, membuat kenyataan, parameter mengikat, melaksanakan pertanyaan atau kemas kini, dan hasil pemprosesan.

Cara melihat versi Apache anda Cara melihat versi Apache anda Apr 13, 2025 pm 01:15 PM

Terdapat 3 cara untuk melihat versi pada pelayan Apache: melalui baris arahan (Apachectl -v atau Apache2CTL -V), periksa halaman status pelayan (http: // & lt; IP pelayan atau nama domain & gt;/pelayan -status), atau lihat fail konfigurasi Apache (Serverversion: Apache/& lt;

Cara melihat versi Apache Cara melihat versi Apache Apr 13, 2025 pm 01:00 PM

Bagaimana untuk melihat versi Apache? Mulakan pelayan Apache: Gunakan perkhidmatan sudo Apache2 Mula untuk memulakan pelayan. Lihat Nombor Versi: Gunakan salah satu daripada kaedah berikut untuk melihat versi: baris arahan: Jalankan arahan apache2 -v. Halaman Status Pelayan: Akses port lalai pelayan Apache (biasanya 80) dalam pelayar web, dan maklumat versi dipaparkan di bahagian bawah halaman.

Cara Mengkonfigurasi Zend untuk Apache Cara Mengkonfigurasi Zend untuk Apache Apr 13, 2025 pm 12:57 PM

Bagaimana cara mengkonfigurasi zend di Apache? Langkah -langkah untuk mengkonfigurasi Rangka Kerja Zend dalam pelayan web Apache adalah seperti berikut: Pasang Rangka Kerja Zend dan ekstraknya ke dalam direktori pelayan web. Buat fail .htaccess. Buat direktori aplikasi Zend dan tambahkan fail index.php. Konfigurasikan aplikasi Zend (Application.ini). Mulakan semula pelayan web Apache.

Cara memadam lebih daripada nama pelayan Apache Cara memadam lebih daripada nama pelayan Apache Apr 13, 2025 pm 01:09 PM

Untuk memadam arahan Serverve Name tambahan dari Apache, anda boleh mengambil langkah -langkah berikut: Kenal pasti dan padamkan Arahan ServerName tambahan. Mulakan semula Apache untuk membuat perubahan berkuatkuasa. Semak fail konfigurasi untuk mengesahkan perubahan. Uji pelayan untuk memastikan masalah diselesaikan.

Cara menyelesaikan masalah yang tidak dapat dimulakan oleh Apache Cara menyelesaikan masalah yang tidak dapat dimulakan oleh Apache Apr 13, 2025 pm 01:21 PM

Apache tidak boleh bermula kerana sebab -sebab berikut mungkin: ralat sintaks fail konfigurasi. Konflik dengan port permohonan lain. Isu kebenaran. Keluar dari ingatan. Proses kebuntuan. Kegagalan daemon. Isu Kebenaran Selinux. Masalah firewall. Konflik perisian.

See all articles