Fungsi muat naik fail ialah fungsi yang diperlukan untuk kebanyakan aplikasi WEB membolehkan pengguna memuat naik avatar mereka sendiri, sesetengah tapak rangkaian sosial membenarkan pengguna memuat naik foto , dan sesetengah perkhidmatan Tapak web seperti ini memerlukan pengguna memuat naik fail elektronik bahan sokongan, dan tapak web e-dagang membenarkan pengguna memuat naik gambar untuk menunjukkan keadaan produk, dsb. Tanpa langkah keselamatan yang mencukupi, walaupun fungsi muat naik fail yang kelihatan remeh boleh menghadapi risiko keselamatan yang sangat tinggi.
Apabila pengguna memuat naik fail dalam modul fungsi muat naik fail, jika aplikasi WEB Terdapat tiada pengesahan keselamatan fail yang berkesan semasa proses muat naik Penyerang boleh menyerang pelayan dengan memuat naik fail berniat jahat seperti WEBshell Dalam kes ini, sistem dianggap mempunyai kelemahan muat naik fail.
Kaedah yang paling biasa bagi kerentanan muat naik fail ialah memuat naik fail Trojan (webshell) tapak web juga dipanggil Trojan halaman web fail. Mengikut bahasa pembangunan yang berbeza dibahagikan kepada ASP Trojan, PHP Trojan, JSP Trojan, dll. Jenis Trojan ini mengambil kesempatan daripada pelaksanaan perintah sistem, membaca dan menulis fail dan fungsi lain dalam bahasa skrip Setelah dimuat naik pelayan dan dihuraikan oleh enjin skrip, penyerang boleh Kawalan pelayan boleh dicapai.
Fail Trojan (webshell) laman web dibahagikan kepada kuda besar dan kuda kecil (Trojan satu ayat), kuda bergambar, dll.
Malaysia: Fungsi ini agak baik dan boleh digunakan dengan pelayar; jumlah kod biasanya Lebih besar; penyembunyian agak lemah, jumlah kod adalah besar, dan ciri biasanya perlu disembunyikan melalui penyulitan dan kaedah lain.
Xiao Ma: Fungsi ini mudah dan perlu digunakan dengan pelanggan saiz kod biasanya kecil; biasanya digunakan bersama dengan alat cknife.
Kuda gambar: Apabila tapak web mengehadkan muat naik ke format berkaitan imej, penyerang tidak boleh memintas sekatan dan boleh cuba menggunakan kuda bergambar untuk melaksanakan operasi cangkerang web.
Trojan satu ayat adalah serupa dengan
(1) Format muat naik halaman web ini adalah terhad dan perlu mematuhi format jpg, jpeg, JPG, JPEG, jadi format asal ditukar kepada format 1.jpg (penentukuran sisi pelayan Pengesahan)
Buka perisian burp suite untuk memintas paket data dan tukar nama fail kepada 1.php supaya skrip php boleh dijalankan. walaupun fail dengan akhiran jpg boleh dimuat naik, tetapi ia tidak berfungsi.
Tentukan v=phpinfo() dalam pemalam bar penggodam anda boleh melihat banyak maklumat tentang status semasa php
(2) Halaman ini mengehadkan format muat naik (MIME) Anda perlu menukar format fail kepada JPEG atau PNG (pengesahan bahagian pelayan)
Gunakan burp suite untuk memintas maklumat, tukar kandungan-Type kepada imej/png
Gunakan alat hackbar untuk define parameter v=phoinfo(); lihat maklumat status PHP
(3) Halaman ini menapis sufiks fail dan tidak menerima fail jenis PHP (pengesahan bahagian pelayan )
Buka perisian burp suite untuk memintas maklumat, tukar nama fail kepada 1.PHp dan memintas pengenalan pelayan web
Gunakan bar penggodam untuk mentakrifkan v=system (ipconfig); Ayat ini agak mengelirukan. Cara yang betul untuk menulisnya hendaklah: 1. Kerentanan muat naik fail menggunakan "%00" untuk memotong nama fail. 2. Apabila menggunakan "%00", anda boleh menggunakan "ctrl+shift+u" untuk menyusunnya.
1.php%00.jpg, %00 gunakan ctrl+shift+u untuk menyusun
Gunakan alat hackbar untuk menentukan parameters v=phoinfo(); Lihat maklumat status PHP (5) Halaman web ini hanya membenarkan memuat naik imej, dan menukar nama akhiran adalah tidak sah
Muat naik kuda gambar .jpg b374k, kata laluan log masuk ialah b374k
Anda boleh menggunakan kuda gambar untuk melakukan operasi cangkerang web menggunakan penyemak imbas
Fail jenis yang dibenarkan untuk dimuat naik pada halaman ini termasuk jpg, jpeg, png, gif dan 7z. Anda boleh menggunakan kaedah apach untuk mengenal pasti sambungan dari belakang ke hadapan apabila ia tidak dapat mengecam nama akhiran, dan menukar 1.jpg kepada 1.php.7z melalui sendawa, dan ia akan menjadi fail termampat.
Gunakan perisian burp untuk menangkap paket dan tukar 1.jpg kepada 1.php.7z melalui burp, kemudian ia akan menjadi fail termampat.
Gunakan alat hackbar untuk menentukan parameter v=phoinfo(); melihat maklumat status php
Kerentanan muat naik fail dalam Kerentanan keselamatan web adalah agak biasa dan berbahaya Pembangun laman web boleh meningkatkan usaha pencegahan dalam hal ini: seperti mengukuhkan skop senarai hitam akhiran fail secara rawak mengubah suai nama fail yang dimuat naik dan menukar direktori sementara dan menyimpan direktori fail yang dimuat naik; Benarkan kebenaran pelaksanaan dsb.
Atas ialah kandungan terperinci Contoh analisis kelemahan muat naik fail web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!