Ini bisa jadi sebagai pengingat dan cheatsheet buat melakukan penetrating testing ke file upload. Mungkin bakal diurutin dari yang pertama yang harus dicoba sampai yang paling terakhir.
Remote Code Execution via Web Shell Upload
Ini yang pertama. Test apakah di client side ada validasi untuk file upload, kalau ada ya tinggal bypass di BurpSuite. Langsung upload pake code PHP RCE, misal $_GET.
Web Shell Upload via Content-Type Restriction Bypass
In yang kedua, cuma perlu ganti Content-Type.
Web Shell Upload via Path Traversal
Path traversal itu diupload tapi pindahin filenya ../ ketas gini.
Web Shell Upload via Extension Blacklist Bypass
Ini biasanya di web server Apache. Upload file .htaccess untuk bikin file eksekusi baru pake application/x-https-php ditambah file extension baru terserah kita. Misal : .crot
Web Shell Upload via Obfuscated File Extension
Ini sebenernya metode lama, cuma tinggal obfuscate file extension dibelakang, misalny dengan %00 yang artinya null, jadi gk diproses.
Remote Code Execution via Polyglot Web Shell Upload
Ini menarik , soalnya teknik ini gabungin lebih dari satu file untuk masuk kedalam. Misalnya masukin meta-data di file image pake code PHP. Pake exiftool.
Web Shell Upload via Race Condition
Ini biasanya ya validation di server-side, dan punya banyak validasi untuk ngcek file yang akan diupload. Server ini mungkin paling bagus soal validasinya. Jadi sepersekian detik setelah file diupload dan sebelum dilakukan pengecekan di server, kita kirim GET request terus-terusan.