RCE File Upload Extension .tgz
Thursday, April 7, 2022
pada kali ini saya mengumpulkan beberapa cara:
- RCE terjadi setelah mengunggah file.
- Kurangnya pemfilteran jenis file yang dapat diunggah
- Terjadi kesalahan dalam proses penyaringan form web tempat file diunggah
- Banyak aplikasi web memfilter unggahan file menurut ekstensi dan tipe MIME. Ini sering dianggap sebagai "tipe konten" dalam formulir web. Contoh: Di masa lalu, saya menggunakan filter upload file bypasswd dengan menambahkan "; .php" ke file ext yang diharapkan.
- Ubah tipe konten dari "application / x-php" menjadi "image / jpeg" seperti yang diharapkan
percobaan 1
percobaan 2
Untuk RCE khusus ini, server mengharapkan file .tgz Saya mencoba beberapa perubahan pada ekstensi file dan tipe MIME favorit saya, tetapi tidak berhasil.- Server tidak melakukan pemeriksaan sederhana untuk ekstensi atau tipe MIME dan mengharapkan arsip .tgz, jadi saya kira itu sedang membongkar arsip.
- Buat arsip .tgz menggunakan shell web PHP.
- File yang diformat dengan benar di arsip .tgz Anda. Saya membuka ritsleting arsip, menambahkan shell web ke arsip, mengemasnya kembali, dan kemudian mengirimkannya ke server.
- Kembali ke papan draf, saya membuka ritsleting arsip lagi dan mengganti salah satu file yang diharapkan dengan web shell dengan nama yang sama dan ekstensi file .php.
- Kali ini, server menunggu sebentar dan kemudian melakukan kesalahan unggah terlebih dahulu.
- Saya tahu bahwa aplikasi akan mengharapkan file dengan nama dan ekstensi tertentu dan akan menjatuhkan file tambahan di suatu tempat dalam kombinasi teknik untuk melakukan ini: unzip arsip adin dan buka shell web PHP.
- ++ Pengalaman: Ubah "filename123.pdf" menjadi "filename123.pdf.php". Logika aplikasi memeriksa nama yang diharapkan untuk ekstensi pertama dan menyetujui pemrosesan file, tetapi server mengabaikan entri pertama dan hanya memperhatikan ekstensi .php saya. selesai :))