Ticker

6/recent/ticker-posts

Cara Bypass File Upload

Bypass File Upload


Barangkali ada Bypass File yang diunggah pengguna dapat memberi peretas titik masuk potensial ke aplikasi web, membuat penanganan aman mereka menjadi tugas yang sangat penting bagi administrator dan tim keamanan. Jika file ini tidak divalidasi dengan benar, penyerang jarak jauh dapat mengunggah file berbahaya di server web dan menyebabkan pelanggaran serius. Unggahan file berbahaya adalah hasil dari validasi file yang tidak tepat. Ini mengarah ke eksekusi kode. Menurut OWASP , kerentanan pengunggahan file yang tidak dibatasi dapat memungkinkan dua jenis serangan yang berbeda. Biasanya aplikasi web memiliki batasan untuk mencoba membuat serangan semacam ini lebih sulit, tetapi ada berbagai teknik yang dapat digunakan peretas untuk mengalahkan batasan unggah file dan mendapatkan cangkang terbalik.

Daftar Hitam Dan Bypass 1

Daftar hitam adalah jenis perlindungan di mana string data tertentu, dalam banyak kasus, ekstensi tertentu, secara eksplisit dilarang dikirim ke server aplikasi web. Ini mungkin terdengar seperti solusi yang tepat untuk mencegah ekstensi berbahaya, sering kali shell, diunggah ke situs web Anda, tetapi tidak sulit untuk dilewati.

berikut beberapa ekstensi alternatif yang dapat digunakan untuk menyiasati filter daftar hitam.

php.txt, .sh, .pht, .phtml, .phP, .Php, .php7, .php%00.jpeg, .cgi

Ekstensi populer lainnya untuk web shell adalah JSP — ini adalah file halaman web yang dibuat server. Ini mirip dengan file .ASP atau .PHP, tetapi berisi kode Java, bukan ActiveX atau PHP

.MF, .jspx, .jspf, .jsw, .jsv, xml, .war, .jsp, .aspx

Daftar Putih dan Bypass 2


Metode dua menggunakan daftar putih. Daftar putih seperti namanya, adalah kebalikan dari daftar hitam, Daftar putih server ini hanya akan menerima jpeg, gif, png, jpg, dll. Ini mungkin terdengar seperti cara yang lebih baik untuk melindungi server Anda daripada menggunakan daftar hitam, tetapi masih bisa dilewati dengan menggunakan beberapa trik. Ada beberapa jebakan dalam metode ini juga. Mereka adalah catatan bug sisi server yang memungkinkan pengguna untuk melewati perlindungan ini, salah satunya adalah:

Kerentanan titik koma IIS 6 yang disebabkan oleh bug parser yang memungkinkan pengguna mengunggah dan mengeksekusi file dengan nama seperti testing.asp;.jpg

Menggunakan shell terbalik dengan ekstensi foto, peretas dapat menipu aplikasi web agar menerima file php yang juga memiliki ekstensi JPG/PNG:

payload.php.jpg

Juga menggunakan injeksi karakter nol, kita dapat melewati filter daftar putih untuk membuat karakter diabaikan saat file disimpan, menyuntikkan ini di antara ekstensi terlarang dan ekstensi yang diizinkan dapat menyebabkan pintasan:

payload.php%00.jpg ATAU payload.php\x00.jpg

Biasanya, jika daftar putih hanya menerima gambar, itu juga dapat menerima file gif . Menambahkan GIF89a; ke bagian paling atas shell Anda dapat membantu Anda melewati batasan dan membiarkan Anda menjalankan shell.

GIF89a; <?php system($_GET['cmd']); ?>

Data Exif, ExifTool dan Bypass 3

Metode selanjutnya untuk melewati batasan unggah file menggunakan data Exif di gambar apa pun, seperti lokasi, nama, kamera yang digunakan, dan banyak lagi. Menyisipkan komentar yang berisi payload shell terbalik dapat dijalankan oleh aplikasi web setiap kali gambar diunggah.

Anda dapat menambahkan payload Anda menggunakan alat seperti exiftool

Memasukkan shell perintah pendek sebagai informasi ke dalam foto Anda mungkin terlihat seperti ini:

$ exiftool -DocumentName="<h1>chiara<br><?php if(isset(\$_REQUEST['cmd'])){echo '<pre>';\$cmd = (\$_REQUEST['cmd' ]);system(\$cmd);echo '</pre>';} __halt_compiler();?></h1>" pwtoken.jpeg

Anda dapat menggunakan Exiftool untuk memeriksa komentar baru yang ditambahkan ke foto Anda.

$ exiftool pwtoken.jpeg

Kemudian tambahkan saja ekstensi shell untuk menjadikannya file yang dapat dieksekusi sekali di server aplikasi web:

$mv catphoto.jpg catphoto.php\x00.jpg

Gunakan ini dengan metode yang disebutkan di awal artikel ini untuk melewati salah satu atau kedua daftar hitam dan daftar putih.

Remediasi

Batasi jenis file yang diterima untuk diunggah: periksa ekstensi file dan hanya izinkan file tertentu untuk diunggah. Gunakan pendekatan daftar putih alih-alih daftar hitam. Periksa ekstensi ganda seperti .php.png. Periksa file tanpa nama file seperti .htaccess (di ASP.NET, periksa file konfigurasi seperti web.config). Ubah izin pada folder unggah sehingga file di dalamnya tidak dapat dieksekusi. Jika memungkinkan, ganti nama file yang diunggah.