File Upload
1. Bevezetés¶
A fájlfeltöltés egy olyan funkció, amely lehetővé teszi a felhasználók számára, hogy fájlokat töltsenek fel a szerverre. Ha ezt nem biztosítják megfelelően, nagyon veszélyes lehet. Egy felelőtlen személy feltölthet olyan fájlokat, amelyek átvehetik az irányítást a szerver felett, vagy kárt okozhatnak benne. Ezt a biztonsági rést általában korlátlan fájlfeltöltésnek (Unrestricted File Upload) nevezik.
2. Low Security Level (Alacsony biztonsági szint)¶
Van egy űrlap, amely lehetővé teszi fájl feltöltését. Amikor megpróbálok egy üres fájlt feltölteni .php kiterjesztéssel, a fájl sikeresen elküldésre kerül, és hozzáférhető lesz.
3. Medium Security Level (Közepes biztonsági szint)¶
Csak JPEG és PNG kiterjesztésű fájlok engedélyezettek. Burp Suite elfogás: Megváltoztatott Content-Type fejléc
Payload:
Before: Content-Type: application/octet-stream
After: Content-Type: image/jpeg
4. High Security Level (Magas biztonsági szint)¶
Van egy további getimagesize() függvény a validálásban, amely arra szolgál, hogy ellenőrizze, valóban kép fájlt töltött-e fel a felhasználó.
Payload:
Before:
Content-Disposition: form-data; name="uploaded"; filename="revshell.php"
Content-Type: application/octet-stream
After:
Content-Disposition: form-data; name="uploaded"; filename="revshell.php.jpeg"
Content-Type: image/jpeg
GIF89a;
Használhatod a pentestmonkey visszacsatoló shelljét (reverse shell). revshells.com