Ushbu o‘quv bo‘limi quyidagi o‘quv maqsadlarini qamrab oladi:
Ko‘plab veb-ilovalar fayllarni yuklash funksiyasini taqdim etadi. Ushbu o‘quv bo‘limida biz File Upload zaifliklarini qanday aniqlash, ekspluat qilish va ularni asosiy tizimga kirish yoki kod ijro etish uchun qanday ishlatishni o‘rganamiz. Umuman olganda, File Upload zaifliklarini uch toifaga ajratish mumkin:
Birinchi toifa veb-ilova tomonidan ijro etiladigan fayllarni yuklash imkonini beruvchi zaifliklardan iborat. Masalan, agar PHP yoqilgan veb-serverga PHP skriptini yuklasak, skriptni brauzer yoki curl orqali ijro etishimiz mumkin. File Inclusion o‘quv bo‘limida ko‘rganimizdek, PHP dan tashqari, bu turdagi zaiflikni boshqa framework lar yoki server tomonidagi skript tillarida ham ekspluat qilish mumkin.
Ikkinchi toifa fayl yuklash mexanizmini boshqa zaiflik, masalan, Directory Traversal bilan birlashtirishni talab qiluvchi zaifliklardan iborat. Masalan, agar veb-ilova Directory Traversal ga zaif bo‘lsa, fayl yuklash so‘rovida nisbiy yo‘lni ishlatib, authorized_keys kabi fayllarni qayta yozishga harakat qilishimiz mumkin. Bundan tashqari, fayl yuklash mexanizmlarini XML External Entity (XXE) yoki Cross Site Scripting (XSS) hujumlari bilan ham birlashtirish mumkin. Masalan, agar profil uchun SVG fayl turidagi avatar yuklashga ruxsat berilsa, biz XXE hujumini joylashtirib, fayl tarkibini ko‘rsatish yoki hatto kod ijro etishimiz mumkin.
Uchinchi toifa foydalanuvchi o‘zaro ta’siriga tayangan zaifliklardan iborat. Masalan, ishga ariza topshirish uchun yuklash formasi topilsa, biz zararli macros lar joylashtirilgan .docx formatidagi CV ni yuklashga harakat qilishimiz mumkin. Ushbu toifa odamning biz yuklagan faylga kirishini talab qilganligi sababli, ushbu o‘quv bo‘limida biz boshqa ikki turdagi File Upload zaifliklariga e’tibor qaratamiz.