1. Front-end JavaScript detection
Feature:
After uploading an illegal file, only a pop-up window prompts, and it has not been verified by the server.
Bypass:
Burpsuite захватывает пакеты и меняет расширение файла на jpg.
Нажмите ЗАГРУЗИТЬ, чтобы пройти предварительную проверку, затем измените суффикс файла обратно на php в burpsuite и, наконец, загрузите файл на сервер.
2. MIME type check (content-type header)
Стандарт MIME: он в основном используется для типов расширений почты Интернета.Первоначально почта поддерживает только символы кода ascii, а позже поддерживает такие типы данных, как изображения и видео.
Стандарт MIME определяет символический метод для представления различных типов данных.
О типе данных судят по некоторым идентификаторам символов.Протокол HTTP также использует структуру MIME, которая воплощена в информации
Информация заголовка запроса
Bypass:
Сначала загрузите файл типа jpg, захватите пакет данных и другое обнаружение браузера, а затем измените его на php.
3. Blacklist bypass
1) путаница с прописными и строчными буквами
Feature: Blacklist filtering .php .jsp .asp
Bypass: .PHP, .pHP и другие случаи путаницы
2) использовать определенный суффикс
phtml и pht — это суффиксы ранних смешанных файлов php, html.
В файле конфигурации Apache будут регулярные выражения, такие как
Feature: Blacklist filtering .php .PHP .pHP etc. all case forms
Bypass: Modify the file suffix to .php1 .php2 ... .php5 .phtml .pht
3) Windows filename .space related
Windows автоматически удалит точку (пробел) в конце имени файла.
Bypass: Modify the file name to xx.php.space.
4) Double write::$DATA bypasses regex
Feature: Server not filtering
Bypass: Метод обхода: измените суффикс файла на
Или измените на
5) %00
magic_quotes_gpc аналогична функции addlashes(), которая фильтрует переносимые символы.
Предпосылка этого эксплойта заключается в том, что версия php ниже 5.3, а
Предполагает полное имя файла после загрузки в обычных условиях
/upload/test151236.jpg
Измените путь, переданный в GET-запросе, на /upload/test.php%00
Затем загрузите обычное легальное изображение, полное имя файла будет /upload/test.php%00test151236.jpg
Символы после %00 усекаются, поэтому полное имя файла становится :/upload/test.php
6) .htaccess file rewrite
.htaccess - это файл конфигурации сервера Apache, который позволяет настраивать страницы 404, разрешать/блокировать доступ пользователей к определенным каталогам и т.д. Этот файл работает с текущим каталогом и его подкаталогами.
Запись определенного кода в файле .htaccess позволит файлам с определенными символами в имени файла быть разобранными как файлы php, независимо от суффикса файла.
Необходимое условие: httpd.conf Apache с
Feature: No disabling .htaccess files
Bypass: Сначала загрузите файл .htaccess, затем загрузите файл jpg с именем, совпадающим с кодом в .htaccess, сервер расценит файл jpg как файл php и выполнит его.
7) Server Parse Vulnerability
Apache Parse Vulnerability..... etc
4. File upload conditional race
Принцип: Некоторые веб-сайты временно получают все загруженные файлы во временный каталог, а затем судят по очереди, удаляют файлы, не соответствующие условиям, и перемещают их в новый каталог, если они соответствуют условиям.
Файл, к которому осуществляется доступ, не может быть удален
Under the premise of knowing the temporary directory and temporary file name, use the Intruder module of burpsuite to upload the file multiple times and access the file multiple times at the same time.
5. Image Trojan
Когда сервер очень строго относится к фильтрации файлов сценариев и его трудно обойти, мы можем рассмотреть возможность использования загрузки изображения + включение файла.
Feature:
After uploading an illegal file, only a pop-up window prompts, and it has not been verified by the server.
Bypass:
Burpsuite захватывает пакеты и меняет расширение файла на jpg.
Нажмите ЗАГРУЗИТЬ, чтобы пройти предварительную проверку, затем измените суффикс файла обратно на php в burpsuite и, наконец, загрузите файл на сервер.
2. MIME type check (content-type header)
Стандарт MIME: он в основном используется для типов расширений почты Интернета.Первоначально почта поддерживает только символы кода ascii, а позже поддерживает такие типы данных, как изображения и видео.
Стандарт MIME определяет символический метод для представления различных типов данных.
О типе данных судят по некоторым идентификаторам символов.Протокол HTTP также использует структуру MIME, которая воплощена в информации
content-type в заголовке запроса.Информация заголовка запроса
content-type автоматически определяется браузером по умолчанию, но мы можем изменить ее самостоятельно.Bypass:
Сначала загрузите файл типа jpg, захватите пакет данных и другое обнаружение браузера, а затем измените его на php.
3. Blacklist bypass
1) путаница с прописными и строчными буквами
Feature: Blacklist filtering .php .jsp .asp
Bypass: .PHP, .pHP и другие случаи путаницы
2) использовать определенный суффикс
phtml и pht — это суффиксы ранних смешанных файлов php, html.
В файле конфигурации Apache будут регулярные выражения, такие как
.+.ph(p[345]?|t|tml), и имя файла может быть проанализировано как php, если оно удовлетворяет требованиям.Feature: Blacklist filtering .php .PHP .pHP etc. all case forms
Bypass: Modify the file suffix to .php1 .php2 ... .php5 .phtml .pht
3) Windows filename .space related
Windows автоматически удалит точку (пробел) в конце имени файла.
Bypass: Modify the file name to xx.php.space.
4) Double write::$DATA bypasses regex
Feature: Server not filtering
::$DATA or filtering incompleteBypass: Метод обхода: измените суффикс файла на
.php$::DATA, чтобы напрямую обойти черный список php.Или измените на
.php::$DAT::$DATAA, чтобы обойти обычную фильтрацию ::$DATA5) %00
magic_quotes_gpc аналогична функции addlashes(), которая фильтрует переносимые символы.
Предпосылка этого эксплойта заключается в том, что версия php ниже 5.3, а
magic_quotes_gpc=Off в php.ini.Предполагает полное имя файла после загрузки в обычных условиях
/upload/test151236.jpg
Измените путь, переданный в GET-запросе, на /upload/test.php%00
Затем загрузите обычное легальное изображение, полное имя файла будет /upload/test.php%00test151236.jpg
Символы после %00 усекаются, поэтому полное имя файла становится :/upload/test.php
6) .htaccess file rewrite
.htaccess - это файл конфигурации сервера Apache, который позволяет настраивать страницы 404, разрешать/блокировать доступ пользователей к определенным каталогам и т.д. Этот файл работает с текущим каталогом и его подкаталогами.
Запись определенного кода в файле .htaccess позволит файлам с определенными символами в имени файла быть разобранными как файлы php, независимо от суффикса файла.
Необходимое условие: httpd.conf Apache с
AllowOverride=AllFeature: No disabling .htaccess files
Bypass: Сначала загрузите файл .htaccess, затем загрузите файл jpg с именем, совпадающим с кодом в .htaccess, сервер расценит файл jpg как файл php и выполнит его.
7) Server Parse Vulnerability
Apache Parse Vulnerability..... etc
4. File upload conditional race
Принцип: Некоторые веб-сайты временно получают все загруженные файлы во временный каталог, а затем судят по очереди, удаляют файлы, не соответствующие условиям, и перемещают их в новый каталог, если они соответствуют условиям.
Файл, к которому осуществляется доступ, не может быть удален
Under the premise of knowing the temporary directory and temporary file name, use the Intruder module of burpsuite to upload the file multiple times and access the file multiple times at the same time.
5. Image Trojan
Когда сервер очень строго относится к фильтрации файлов сценариев и его трудно обойти, мы можем рассмотреть возможность использования загрузки изображения + включение файла.