


Cara menghasilkan semula kerentanan RCE terhadap akses tanpa kebenaran kepada antara muka API XXL-JOB
XXL-JOB Penerangan
XXL-JOB ialah platform penjadualan tugas teragih yang ringan Matlamat reka bentuk terasnya ialah pembangunan pesat, pembelajaran mudah, ringan dan pengembangan yang mudah. Kod sumber kini dibuka dan disambungkan ke barisan produk dalam talian banyak syarikat, sedia untuk digunakan di luar kotak.
1. Butiran Kerentanan
Isu utama kerentanan ini ialah mod GLUE. XXL-JOB menyokong tugasan berbilang bahasa dan skrip melalui "mod GLUE". Ciri tugasan mod ini adalah seperti berikut:
● Sokongan berbilang bahasa: menyokong Java, Shell, Python, NodeJS, PHP, PowerShell...dsb.
● IDE Web: Tugasan dikekalkan di pusat penghantaran dalam bentuk kod sumber, dan pembangunan dan penyelenggaraan dalam talian disokong melalui IDE Web.
● Kesan dinamik: Kod tugas yang dibangunkan oleh pengguna dalam talian melalui IDE Web ditolak ke pelaksana dari jauh dan dimuatkan dalam masa nyata untuk pelaksanaan.
Seperti yang ditunjukkan dalam rajah di atas, jika anda menulis kod serangan dalam kod tugas mod GLUE dan menolaknya ke pelaksana untuk pelaksanaan, anda boleh menyebabkan serangan jauh .
[Perihalan Kerentanan]
Antara muka Restful API XXL-JOB atau antara muka RPC tidak dikonfigurasikan dengan langkah pengesahan Penyerang tanpa kebenaran boleh membina permintaan berniat jahat dan menyebabkan pelaksanaan jauh
[Penilaian kerentanan]
Risiko tinggi
[Versi terjejas]
XXL-JOB < ;= 2.2.0
2. Persediaan persekitaran
Idea keseluruhan: Muat turun kod sumber->Kebergantungan pemasangan Maven->Konfigurasi dan penggunaan "Pusat Penjadualan"- >Konfigurasikan dan gunakan "projek pelaksana" ->Selesaikan penggunaan
Persekitaran pembangunan setempat: Java8+Maven3.6
1 ://github.com/xuxueli/xxl-job/releases/tag/v2.2.0
Idea membuka kod sumber yang dinyahmampat dan secara automatik memasang kebergantungan yang berkaitan dalam pom Anda juga boleh menggunakan perintah maven dalam terminal untuk memuat turun kebergantungan yang diperlukan
3 >Lokasi skrip SQL permulaan pangkalan data penjadualan ialah:
/xxl-job/doc/db/tables_xxl_job.sqlOleh kerana Mysql tempatan tidak dipasang, jadi gunakan docker untuk memasangnya.
Anda boleh klik pada sudut kiri bawah untuk melengkapkan ujian sambungan. Klik kanan pangkalan data yang diimport, pilih Jalankan fail SQL, dan klik Mula untuk melengkapkan import pangkalan data.
<.> Fungsi: Pengurusan bersatu penjadualan tugas pada platform penjadualan tugas, bertanggungjawab untuk mencetuskan pelaksanaan penjadualan dan menyediakan platform pengurusan tugas. Anda boleh mengubah suai konfigurasi pangkalan data dalam application.properties mengikut situasi sebenar
Laksanakan XxlJobAdminApplication untuk memulakan pusat penghantaranKami menggunakan yang disyorkan Springboot untuk menguruskan pelaksanaan Semak fail konfigurasi dengan
dan cari parameter xxl.job.executor.logpath Kami boleh mencipta atau mengubah suai laluan untuk mengelakkan masalah dengan pelaksanaan program. Laluan data tidak wujud dalam sistem Mac baharu didapati bahawa menggunakan mkdir untuk mencipta laluan ini adalah kerana Sip dimatikan dalam sistem Mac. Jalankan XxlJobExecutorApplication untuk memulakan pelaksana. Buka //localhost:8080/ dalam penyemak imbas dan lihat antara muka log masuk Pastikan permulaan akaun log masuk lalai ialah "admin/123456"
Nota:
Ubah suai konfigurasi pangkalan data pusat penghantaran
Linux/Unix boleh menggunakan lsof untuk menyemak penghunian port , untuk mengelakkan kegagalan permulaan
Pusat penghantaran dan pelaksana boleh digunakan secara berasingan mengikut situasi sebenar
3 Kerentanan berulang
Lihat dokumentasi rasmi dan anda boleh melihat tugasan. dicetuskan dalam huraian executor RESTful API Interface
Mod jalankan tugas adalah seperti berikut
Lihat kod sumber GulueTypeEnum
Jadi kami menggunakan Burpsuite untuk membina POC kami
Petua:
Apabila mengubah suai glueSource, jika pelaksanaan tidak berkuat kuasa, sila ubah suai jobId
Apabila memulakan semula projek, didapati port bermula secara tidak normal , sila tutup BurpSuite
Memandangkan versi rasmi XXL-JOB disertakan dengan komponen pengesahan asli, ia boleh memastikan keselamatan komunikasi asas sistem apabila dihidupkan. Pengarang XXL-JOB menyatakan bahawa dalam keadaan biasa, komunikasi asas antara pusat penghantaran dan pelaksana adalah selamat, dan tiada kelemahan arahan jauh. Walau bagaimanapun, jika token akses tidak didayakan pada pelaksana, permintaan penjadualan haram tidak boleh dikenal pasti dan dipintas. Peminta hasad boleh menggunakan mod GLUE untuk menolak kod serangan hasad untuk mencapai serangan jauh. Oleh itu, pengarang XXL-JOB percaya bahawa masalah ini bukan sifat "kelemahan" Versi laman web rasmi menyediakan komponen pengesahan, yang boleh dihidupkan untuk perlindungan.
4. Cadangan pembaikan
1 Hidupkan komponen pengesahan yang disertakan dengan XXL-JOB: Cari "xxl.job.accessToken" dalam dokumentasi rasmi dan. ikut arahan dokumentasi Hanya dayakannya.
2. Sekatan akses port: Dengan mengkonfigurasi sekatan kumpulan keselamatan, hanya IP tertentu boleh mengakses port
Atas ialah kandungan terperinci Cara menghasilkan semula kerentanan RCE terhadap akses tanpa kebenaran kepada antara muka API XXL-JOB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Panduan Pembangunan PHP dan ManticoreSearch: Cepat Cipta Carian API Carian ialah salah satu ciri yang amat diperlukan dalam aplikasi web moden. Sama ada laman web e-dagang, platform media sosial atau portal berita, ia perlu menyediakan fungsi carian yang cekap dan tepat untuk membantu pengguna mencari kandungan yang mereka minati. Sebagai enjin carian teks penuh dengan prestasi cemerlang, ManticoreSearch menyediakan kami alat yang berkuasa untuk mencipta API carian yang sangat baik. Artikel ini akan menunjukkan kepada anda bagaimana untuk

Bagaimana untuk merangkak dan memproses data dengan memanggil antara muka API dalam projek PHP? 1. Pengenalan Dalam projek PHP, kita selalunya perlu merangkak data dari tapak web lain dan memproses data ini. Banyak tapak web menyediakan antara muka API, dan kami boleh mendapatkan data dengan memanggil antara muka ini. Artikel ini akan memperkenalkan cara menggunakan PHP untuk memanggil antara muka API untuk merangkak dan memproses data. 2. Dapatkan URL dan parameter antara muka API Sebelum memulakan, kita perlu mendapatkan URL antara muka API sasaran dan parameter yang diperlukan.

Panduan Panggilan ReactAPI: Cara berinteraksi dan memindahkan data ke API bahagian belakang Gambaran Keseluruhan: Dalam pembangunan web moden, berinteraksi dengan dan memindahkan data ke API bahagian belakang adalah keperluan biasa. React, sebagai rangka kerja bahagian hadapan yang popular, menyediakan beberapa alat dan ciri yang berkuasa untuk memudahkan proses ini. Artikel ini akan memperkenalkan cara menggunakan React untuk memanggil API bahagian belakang, termasuk permintaan GET dan POST asas serta memberikan contoh kod khusus. Pasang kebergantungan yang diperlukan: Pertama, pastikan Axi dipasang dalam projek

Oracle ialah penyedia sistem pengurusan pangkalan data yang terkenal di dunia, dan APInya (Antara Muka Pengaturcaraan Aplikasi) ialah alat berkuasa yang membantu pembangun berinteraksi dan menyepadukan dengan mudah dengan pangkalan data Oracle. Dalam artikel ini, kami akan menyelidiki panduan penggunaan API Oracle, menunjukkan kepada pembaca cara menggunakan teknologi antara muka data semasa proses pembangunan dan menyediakan contoh kod khusus. 1. Oracle

Analisis strategi penyepaduan API Oracle: Untuk mencapai komunikasi yang lancar antara sistem, contoh kod khusus diperlukan Dalam era digital hari ini, sistem perusahaan dalaman perlu berkomunikasi antara satu sama lain dan berkongsi data, dan Oracle API ialah salah satu alat penting untuk membantu mencapai kelancaran. komunikasi antara sistem. Artikel ini akan bermula dengan konsep dan prinsip asas OracleAPI, meneroka strategi penyepaduan API, dan akhirnya memberikan contoh kod khusus untuk membantu pembaca memahami dan menggunakan OracleAPI dengan lebih baik. 1. API Oracle Asas

Dalam dunia aplikasi dan analitik dipacu data, API (Antara Muka Pengaturcaraan Aplikasi) memainkan peranan penting dalam mendapatkan semula data daripada pelbagai sumber. Apabila bekerja dengan data API, anda selalunya perlu menyimpan data dalam format yang mudah diakses dan dimanipulasi. Satu format sedemikian ialah CSV (Nilai Dipisahkan Koma), yang membolehkan data jadual disusun dan disimpan dengan cekap. Artikel ini akan meneroka proses menyimpan data API ke format CSV menggunakan bahasa pengaturcaraan yang berkuasa Python. Dengan mengikut langkah-langkah yang digariskan dalam panduan ini, kami akan mempelajari cara mendapatkan semula data daripada API, mengekstrak maklumat yang berkaitan dan menyimpannya dalam fail CSV untuk analisis dan pemprosesan selanjutnya. Mari selami dunia pemprosesan data API dengan Python dan buka kunci potensi format CSV

Tajuk: Cara menangani pelaporan ralat API Laravel, contoh kod khusus diperlukan Semasa membangunkan Laravel, ralat API sering ditemui. Ralat ini mungkin datang daripada pelbagai sebab seperti ralat logik kod program, masalah pertanyaan pangkalan data atau kegagalan permintaan API luaran. Cara mengendalikan laporan ralat ini ialah isu utama Artikel ini akan menggunakan contoh kod khusus untuk menunjukkan cara mengendalikan laporan ralat API Laravel dengan berkesan. 1. Ralat pengendalian dalam Laravel

Pembangunan API RESTful dengan Laravel: Membina Perkhidmatan Web Moden Dengan perkembangan pesat Internet, permintaan untuk perkhidmatan Web semakin meningkat dari hari ke hari. Sebagai seni bina perkhidmatan Web moden, RESTfulAPI adalah ringan, fleksibel dan mudah dikembangkan, jadi ia telah digunakan secara meluas dalam pembangunan Web. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Laravel untuk membina API RESTful moden. Laravel ialah bahasa PHP
