сегодня,Мы углубимся в эксплойты загрузки файлов.,Эта часть содержимого является частью главы специальной практики EdgeOne. в этой главе,Мы не будем рассказывать о том, что такое уязвимости файлов, как они работают или как настроить ваш сайт.,Если вы заинтересованы в этом содержимом,Вы можете обратиться к этой статье:Изучение кибербезопасности: краткий анализ уязвимости загрузки файлов
После этого абзаца мы не будем подробно рассказывать, как приобретать пакеты или настраивать базовые приложения, такие как сайты. И как только мы рассмотрим атаки, я также поделюсь некоторыми мерами предосторожности, чтобы защитить ваш сервер от них. Поэтому в центре внимания этой статьи остается EdgeOne от Tencent Cloud.
Когда мы считаем, что атаковать чужие серверы незаконно,Нам нужно подумать о том, как лучше защитить наши собственные серверы. Тестировать и учиться,Мы можем построить специальный тир для имитации атаки «Уязвимость загрузки файлов». Ниже приводится окружение и некоторые справочные материалы для обустройства стрельбища.,Чтобы каждый мог учиться и обращаться к,Вы также можете изучить соответствующий контент самостоятельно.
При использовании облегченного сервера приложений Tencent Cloud для Linux, учитывая строгие экологические требования, при его самостоятельной сборке может возникнуть множество ошибок. Вы можете быстро развернуть его, просто вытащив образ Docker, упакованный другими.
docker pull c0ny1/upload-labsdocker run -d -p 8289:80 c0ny1/upload-labs
После запуска обязательно зайдите в консоль Tencent Cloud для настройки правил брандмауэра, иначе у вас может не получиться к нему нормальный доступ. Вместо адреса доступа вы можете использовать свой настроенный IP-адрес и номер порта: http://ip:8289.
Система может запуститься нормально. Однако при попытке загрузить файл система сообщает, что требуемый каталог для загрузки не найден. Чтобы решить эту проблему, вам необходимо вручную добавить каталог загрузки через консоль контейнера докеров.
После входа выполните следующую команду:
mkdir uploadchmod 777 upload
Все работает нормально, тир успешно настроен! Пожалуйста, помните, после завершения обучения не атакуйте чужие серверы. Это очень важно, помните, помните, помните.
Всего в тире 20 уровней, каждый уровень представляет собой отдельный случай уязвимости. Здесь я выберу несколько типичных случаев, которыми поделюсь и поучусь у вас. Итак, давайте начнем прямо сейчас!
Чтобы не мешать всем длинным текстом, я подготовил краткую блок-схему, которая поможет всем быстро разобраться. Пожалуйста, сначала взгляните на эту картинку. Я думаю, вам все покажется очень простым. Теперь мы готовы ехать, пожалуйста, пристегните ремни безопасности.
Далее, все наши задачи основаны на загрузке одного или нескольких файлов для доступа к информации о конфигурации сервера. Конструкция сценария атаки также чрезвычайно проста, и его цель столь же ясна: просто получить доступ к нашему сценарию атаки другими способами и успешно выполнить его.
<?php
phpinfo();
?>
Когда мы говорим о пользе получения информации, можно ли ее использовать для атак? По сути, наша основная цель — выполнить скрипт. Содержание сценария не важно, главное, чтобы его можно было выполнить плавно. Вы можете по своему желанию заменить операторы сценария, например, сценарием из одного предложения, например, Ant Sword, чтобы получить оболочку. Это просто с целью продемонстрировать атаку.
Теперь начинаем объяснять, как пользоваться тиром. Обратите внимание, что каждая страница оснащена функцией просмотра исходного кода и советов по просмотру. Если после проверки исходного кода вы все еще не знаете, как атаковать, вы можете следовать подсказкам, чтобы пройти уровень шаг за шагом. Итак, начнем.
Давайте сначала посмотрим на исходный код:
Когда мы посмотрим на этот код, мы заметим, что это всего лишь базовая проверка суффиксов во внешнем интерфейсе.
Затем мы можем выбрать загрузку, изменив внешний код, чтобы удалить этот этап проверки, не полагаясь на инструменты, или вручную изменить запрос, чтобы изменить суффикс файла на .php. Мы можем начать с простого метода.
Далее удалите и сохраните файл, а затем снова загрузите наш файл сценария.
Обязательно обновите страницу после сохранения изменений, чтобы интерфейс мог распознавать загруженные нами файлы с расширением .php.
Поскольку это не изображение, его невозможно отобразить. Поэтому щелкните правой кнопкой мыши и скопируйте путь к изображению, чтобы просмотреть его. Операция прошла успешно.
Конечно, даже самые худшие компании не могут полагаться исключительно на внешний интерфейс при проверке, поэтому второй этап начинает включать в себя внутренние операции. Теперь перейдем к исходному коду;
Основная функция бэкэнда — получить тип загруженного файла. Чтобы изменить тип файла, нам нужно использовать Burp. SuiteИнструменты для перехвата。Просто изменить суффикс файла недостаточно,Поскольку передаваемый здесь тип файла передается через заголовок Content-Type.,Конкретноapplication/octet-stream
。
Когда фоновая система выносит суждение на основе типа файла, нам нужно только настроить тип файла так, чтобы он соответствовал требованиям фоновой проверки, как показано ниже:
Как и ожидалось, мы по-прежнему видим успешные загрузки.
Остальные шаги — щелкнуть правой кнопкой мыши по адресу файла изображения, который нужно открыть. На следующих уровнях нам больше не нужно демонстрировать просмотр информации PHP, просто проверьте, успешно ли работает наш код.
На этом уровне, если вы обнаружите, что проверка все равно не может быть выполнена эффективно, лучшим подходом будет прямое ограничение суффиксов в именах загружаемых файлов. Однако использование исключительно расширений файлов для ограничений также сопряжено с потенциальными рисками для безопасности. Давайте разберем этот вопрос глубже.
На заре веб-разработки файлы PHP часто заканчивались на .php3. Это связано с тем, что более старые версии PHP поддерживают только суффикс .php3, а не .php напрямую. Хотя современные версии PHP больше не требуют определенного суффикса файла, некоторые веб-сайты по-прежнему используют суффикс .php3 по историческим причинам или из соображений совместимости. Для поддержки этих старых версий веб-сайтов конфигурация Apache по умолчанию поддерживает анализ файлов PHP с суффиксом .php3.
Теперь проблема становится очень простой: нам нужно загрузить только те файлы, которых нет в массиве лимитов суффиксов, и все готово.
Когда дело доходит до описанной выше ситуации, некоторые из вас, возможно, поняли, что простые расширения файлов больше не являются бесплатными для использования. Мне необходимо всесторонне пересмотреть и ужесточить ограничения в этой сфере, чтобы мы перешли к четвертому этапу. Теперь давайте более подробно рассмотрим исходный код.
Конечно, нам не нужно ограничиваться загрузкой файлов PHP. На этот раз мы можем воспользоваться уязвимостью в другом файле конфигурации.
.htaccess
это конфигурация Apache Web Файл конфигурации сервера, имя которого "hypertext access" аббревиатура. Это позволяет администраторам веб-сайта настраивать сайт без изменения основного файла конфигурации (например, httpd.conf
)случай,Создав в корневом каталоге сайта или в определенном каталоге .htaccess
файлы для настройки и управления поведением веб-сайта.
.htaccess
Файлы могут содержать различные директивы и правила контроля доступа к веб-сайтам, перенаправления URL-адрес, установка пользовательских страниц ошибок, включение сжатия, подавление списков каталогов, ограничение скорости доступа и многое другое. проходить .htaccess
файлы, администраторы веб-сайта могут обеспечить гибкую настройку и управление веб-сайтом, не требуя доступа на уровне сервера.
Следует отметить, что,.htaccess
Файл предназначен только для Apache Web Сервер действителен, и его конфигурация может повлиять на производительность веб-сайта, особенно если он содержит сложные правила или требует частого чтения файлов.
Затем мы сначала пишем скрипт, а затем загружаем файл.
<FilesMatch "loudong.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
Это предложение означает, что при доступе к файлу с именемloudong.jpg веб-сервер Apache будет обрабатывать его как PHP-скрипт, а не просто возвращать его непосредственно пользователю в виде статического файла.
Продолжайте загружать изображение в формате jpg, хотя на самом деле файл представляет собой сценарий атаки, замаскированный под изображение.
При обнаружении уязвимости простое добавление ограничения решает проблему. Поэтому решение пятого уровня — напрямую запретить загрузку файлов .htaccess.
Конечно, была еще одна проблема, которую он не смог обнаружить. Просмотрите исходный код еще раз.
Имена файлов записываются строчными буквами, но нам нужно убедиться, поддерживает ли PHP имена файлов в верхнем регистре. Мы можем попробовать перехватить запрос напрямую и изменить имя файла для проверки.
Проверив дело и детально изучив исходный код, я обнаружил, что ограничений на пробелы нет. Если действительно нет ограничений по пространству, то ограничение суффикса файла также будет недействительным.
Мы используем Burp Suite для перехвата запросов на отправку. Я сам добавил пробел после имени файла, потому что по умолчанию имени файла нет.
Наконец, файл был успешно загружен. Существует еще много способов обойти проверку суффиксов файлов, и мы не собираемся их все перечислять. Основная проблема заключается в неточности анализа кода. Мы можем напрямую загрузить файл сценария, воспользовавшись одной из лазеек.
Когда это изображение становится чем-то большим, чем просто визуальный элемент, оно может выглядеть обычным спереди, но на самом деле вторая его половина содержит фрагмент кода.
Взгляните на исходный код этого уровня
Когда мы читаем только первые два байта, обычно мы получаем информацию о заголовке файла изображения, который содержит важные данные о типе и формате файла. Затем мы можем открыть эти три файла изображений и отредактировать их с помощью Блокнота, чтобы выяснить, имеют ли они общие характеристики или атрибуты.
В этой части следует отметить еще одну вещь: Файл содержит уязвимости. Знаете ли вы, что означает «Файл содержит уязвимость»?
<?php
/*
Файл существует на этой странице содержит уязвимость, используется для проверки работоспособности изображения лошади!
*/
header("Content-Type:text/html;charset=utf-8");
$file = $_GET['file'];
if(isset($file)){
include $file;
}else{
show_source(__file__);
}
?>
из-за прямого использования include работает и не правильно $file Если параметры достаточно отфильтрованы или проверены, злоумышленник может создать вредоносные запросы, содержащие произвольные файлы, даже удаленные вредоносные файлы. Затем, после загрузки файла, мы получаем адрес файла и затем используем этот файл. содержит уязвимость попробовал, и результаты показали, что этот риск действительно существует.
Для этого уровня много исходного кода, поэтому я решил скопировать и поделиться только кодом ключа для вашей справки.
//Используем загруженное изображение для создания нового изображения
$im = imagecreatefromjpeg($target_path);
//Используем загруженное изображение для создания нового изображения
$im = imagecreatefrompng($target_path);
//Используем загруженное изображение для создания нового изображения
$im = imagecreatefromgif($target_path);
Основная цель этого шага — определить формат изображения, загруженного пользователем, и создать новое изображение. Особое внимание во время этого процесса необходимо уделить обработке изображений GIF. Изображение GIF меняется очень мало после повторного рендеринга, в основном из-за оптимизации алгоритма сжатия и фиксированных ограничений формата, так что большинство модификаций затрагивают только небольшой объем данных, не вызывая серьезных изменений во всем файле изображения.
Нам необходимо улучшить этот процесс: во-первых, убедитесь, что вы не изменяете файл изображения по своему усмотрению, а сначала загружаете и скачиваете изображение, а затем сравниваете его с локальным изображением. Определите части, которые не изменились, затем скопируйте и вставьте код одну за другой, перемещая все ошибки.
Наконец, мы меняем это здесь:
Продолжить использование после загрузки Файл содержит уязвимость:
На этом этапе загруженный файл просто сохраняется, проверяется, переименовывается и перемещается. Если проверка не пройдена, файл будет удален. На первый взгляд может показаться, что проблем нет, но на самом деле существует множество потенциальных уязвимостей.
Сначала тип файла сохранялся без проверки, а затем проверялся и удалялся. Эта уязвимость предоставляет нам точку входа для атаки на сервер. Мы можем использовать Burp Suite для перехвата запросов и проведения концентрированных атак. Пока у меня есть доступ к файлу, который я загрузил до выполнения операции удаления, я могу выполнить сценарий. Примите меры сейчас.
После того как мы успешно перехватили запрос, следующим шагом будет настройка разработки параллельных запросов. Мы планируем начать атаку с параллелизма по умолчанию, равного 10.
Наблюдайте здесь за эффектом атаки, хотя обычно они вовремя очищаются, но если мы успешно получим доступ к одному из них, атаку можно считать успешной. Давайте начнем.
После объяснения того, как использовать загрузку файлов для атак на серверы, следующим этапом будет понимание того, как эффективно защититься от этих атак. Реализация хороших мер защиты на стороне сервера имеет решающее значение, поскольку защита превосходит нападение. Далее мы обсудим, как усилить безопасность сервера на основе вышеперечисленных классических случаев.
Если предположить, что мы не можем проверить код, написанный программистами, или не имеем возможности самостоятельно проводить аудит кода, то мы можем рассчитывать только на внешние меры защиты. В этом случае EdgeOne по-прежнему рекомендуется для решения этих проблем. Чтобы всем было понятнее, я просто нарисовал картинку для справки. После прочтения изображения проблема становится очень простой, как и использование подключаемого промежуточного программного обеспечения в архитектуре, и ее можно легко применить.
Ранее мы подробно обсуждали различные методы атак. Теперь давайте рассмотрим аспекты, которые следует защитить:
Помимо ранее упомянутых мер, есть еще один момент, требующий внимания, а именно ограничение размера файла. Учитывая, что у нас есть собственные ресурсы сервера, мы можем избежать ненужного потребления трафика. Поэтому нам необходимо иметь соответствующий контроль и в этой сфере.
Далее мы реализуем эти защитные меры одну за другой, и вы увидите, что с минимальными корректировками мы можем добиться наилучших результатов в области безопасности.
Если вы планируете загрузить веб-оболочку, содержимое файла должно содержать содержимое сценария. Поэтому нам необходимо подтвердить, предоставляет ли EdgeOne соответствующие функции проверки и проверки. Приобретя стандартную версию EdgeOne, вы можете сразу загружать файлы и проверять, можно ли их эффективно перехватить без внесения каких-либо изменений.
В обычных обстоятельствах EdgeOne должен перехватывать такие запросы, но нам необходимо еще раз проверить образец журнала, чтобы подтвердить, действительно ли существуют запросы, которые не были перехвачены.
Заметив это, мы обнаружили, что запрос не только был перехвачен, но и идентифицирован как защитное правило, но фактически наблюдался, а не перехватывался напрямую. Это важно, поскольку по умолчанию EdgeOne только наблюдает, а не перехватывает запросы напрямую. Нам нужно дополнительно проверить идентификатор этого правила, чтобы понять его конкретную функцию.
Сначала зайдите на сайт, который вы настроили,Найдите безопасность->webзащита->Правила условного депонирования->правила фильтрацииid
Эта задача довольно громоздкая, поскольку в образце журнала конкретные ограничения текущего идентификатора правила напрямую не отображаются, и нам нужно найти его самостоятельно. Однако в конце концов мы находим эту информацию. Таким образом, мы можем идентифицировать суффиксы файлов, чтобы интерфейсу и серверной части не приходилось писать много ограничительного кода при обработке суффиксов файлов.
Фактически, проблемы с загрузкой файлов в предыдущих случаях в основном вызваны проблемами с суффиксами файлов. Технология EdgeOne может простым способом решить проблему небрежного кода программистов.
Когда дело доходит до связанных запросов на защиту, не забудьте отключить режим глобального наблюдения, который позволяет индивидуально настроить перехват каждого правила. Итак, теперь мы отключаем режим глобального наблюдения.
Итак, давайте сделаем еще один запрос, чтобы подтвердить, можем ли мы эффективно перехватывать эти запросы.
Наше выступление перевернулось? Почему он все еще находится в режиме наблюдения? Я думал, что мы должны находиться в состоянии перехвата запросов, а не просто в режиме наблюдения. Это связано с проблемой уровня защиты. Нам нужно это проверить. Настройки по умолчанию могут быть немного слабее.
Затем нам нужно настроить уровень защиты, чтобы он мог перехватывать запросы, которые не должны напрямую обращаться к серверной части. Однако обратите внимание, что мы не можем установить правило отдельно. Если нам нужно установить его, мы должны установить его так же, как и родительское правило. Давайте посмотрим поближе:
конечно! Итак, теперь мы можем попробовать загрузить файл и посмотреть, каковы результаты.
Эффект весьма значителен в практических приложениях. Остальные странные и конфиденциальные суффиксы больше не будут демонстрироваться, поскольку окончательные результаты перехвата совпадают. Для предприятий или частных лиц достаточно двух простых операций с помощью кнопки переключения, и опыт использования также очень хорош.
Когда мы попытались обойти проверку суффикса, мы создали файл с суффиксом .jpg, но на самом деле это был замаскированный файл изображения. Давайте сначала проверим, что этот простой замаскированный файл работает.
Когда содержимое файла на самом деле является PHP-скриптом, хотя суффикс нашего файла установлен на .jpg, это не конфиденциальный файл суффикса, поэтому можно обойти проверку правила суффикса EdgeOne. Итак, мы можем попробовать загрузить и посмотреть, успешно ли оно выполняется.
Попытка не увенчалась успехом. Итак, давайте посмотрим, был ли он перехвачен этим правилом безопасности.
Когда мы успешно обошли проверку защиты конфиденциальных суффиксов, теперь необходимо дополнительно проанализировать, какое конкретное правило было обойти.
Эта мера защиты действительно хороша, php-скрипт заблокирован.
Итак, когда мы тестируем более сложные замаскированные файлы, такие как встраивание сценариев кода в, казалось бы, обычный файл изображения, могут ли правила защиты обнаружить их? Пока мы изучали способы обхода повторного рендеринга изображений, мы экспериментировали с внедрением кода PHP в файл GIF, как показано ниже:
Конечно, мы можем посмотреть, есть ли способ обойти эту меру защиты? Однако кажется, что защитные меры все же могут эффективно предотвратить это.
Взгляните на эти примеры журналов, поскольку все они относятся к одному и тому же идентификатору правила защиты, мы не будем просматривать их снова, а продолжим изучать другие методы тестирования.
В дополнение к приведенному выше внедрению кода для предотвращения рендеринга изображения, если нет вторичного рендеринга, другой метод — добавить контент непосредственно в конец изображения. Эта операция проста, посмотрим, сможет ли она обеспечить дополнительную защиту.
В демо-версии было несколько глюков, но это нормально. Если его невозможно защитить, это не имеет значения. Мы также можем связаться со службой поддержки клиентов Tencent, чтобы быстро сообщить о ситуации. Я бы дал им все тестовые файлы и ссылки на веб-сайты, чтобы они могли протестировать их и выяснить, в чем проблема.
После длительного периода углубленного общения и анализа мы, наконец, успешно помогли им обнаружить проблему, а остальное им пришлось решать самостоятельно.
Почему здесь нет демо-защиты от условной гонки? Не следует ли добавить правило частоты загрузки? Я не уверен, помните ли вы, что условная гоночная атака осуществлялась путем загрузки PHP-скрипта и последующего запуска атаки в течение короткого промежутка времени после прохождения проверки. Во-первых, сценарий PHP должен успешно загрузиться, но EdgeOne перехватил этот сценарий, так как же можно эффективно реализовать последующие ограничения скорости загрузки?
Ранее мы обсуждали предотвращение атак гонки условий представления, но теперь зачем ограничивать скорость загрузки? Это ограничение предназначено для предотвращения частых загрузок файлов, вызывающих аномальную перегрузку сети ввода-вывода сервера. На самом деле это связано с двумя проблемами: с одной стороны, мы не говорим об атаке сервера с помощью скриптов, но пользователи могут занимать ресурсы сервера, часто загружая файлы. Пока загрузки происходят достаточно часто, возможно, что сервер не сможет реагировать на доступ других пользователей, что может привести к простою веб-сайта. Эта ситуация очень серьезна, и последствия могут быть весьма серьезными.
Без лишних слов, давайте продемонстрируем и установим некоторые ограничения. Поскольку загрузка файлов скриптов будет перехвачена, для демонстрации загрузим обычное изображение. В то же время мы будем использовать Burp Suite для частого тестирования серверов атак с загрузкой файлов, как показано на рисунке:
Затем мы напрямую инициируем параллельные запросы. Мы планируем проводить тестирование со следующими правилами параллелизма: 5, 10, 15, 30 и 100 раз в секунду. Сначала мы протестируем 10 параллелизма в секунду, а затем попробуем 100 параллелизма в секунду.
После того, как мы отправим запросы несколько раз, проверьте состояние ресурсов сервера.
Инкапсуляция трафика сервера здесь увеличилась. Хотя доступ к веб-сайту по-прежнему возможен, наша цель была достигнута, и большой объем трафика веб-сайта был использован.
Вы можете просмотреть статистический анализ EdgeOne. На этот раз он не ограничивается анализом веб-безопасности, а фокусируется на анализе показателей. Мы можем наблюдать большое количество аномальных запросов трафика к серверу. Какие меры нам следует предпринять в этой ситуации?
Анализ запроса вы можете посмотреть ниже. Как показано на рисунке:
Во-первых, анализируя график, мы можем определить, какие IP-адреса запрашиваются и какие URL-адреса они запрашивают часто. Эта информация предоставит нам основу для разработки эффективных стратегий.
Хотя этот подход не является оптимальным, мы можем внести в черный список IP-адреса наших клиентов, чтобы ограничить их доступ к нашему веб-сайту. Хотя этот метод неуклюж, поскольку IP-адрес клиента может измениться, что заставит нас постоянно обновлять конфигурацию, это, по крайней мере, осуществимая мера.
Затем следующее, что мы делаем, это добавляем IP-адрес в черный список, что просто повышает безопасность. Конечно, вы можете добавлять сегменты IP-адресов в соответствии с личными потребностями. В этом примере я добавил только один IP-адрес в качестве демонстрации.
ОК, сохранено. Далее мы пытаемся отправить запрос, чтобы проверить, был ли он успешно перехвачен.
Когда все запросы будут успешно перехвачены, мы сможем снова просмотреть образец журнала.
Правильно, этот идентификатор правила — это уникальный идентификатор, который мы только что сгенерировали.
Принимая это во внимание, второй подход заключается в ограничении частоты запросов.
Ограничения здесь слишком мягкие, и нам нужно их ужесточить. Нельзя так быстро спрашивать.
Когда мы продолжаем отправлять одновременные запросы для тестирования, мы видим, что EdgeOne смог распознать последующие запросы и использовать сценарий вызова JavaScript вместо того, чтобы отвечать непосредственно серверу.
Это также можно наблюдать, когда мы проверяем образцы журналов.
Это простой глобальный предел. Конечно, веб-сайты некоторых бизнес-пользователей могут потребовать, чтобы клиенты могли совершать большое количество кликов, и это необходимо учитывать. Но не волнуйтесь, мы можем точно контролировать этот процесс. Далее давайте обсудим, как установить ограничения запросов для определенных URL-адресов. Мы анализируем аномальные запросы на основе показателей и устанавливаем соответствующие стратегии контроля. Вы можете установить свои собственные ограничения в зависимости от ваших личных потребностей.
Здесь я устанавливаю все ограничения, касающиеся путей загрузки файлов. Нам нужно дважды проверить, что все эти пути полностью заблокированы. Например,/Pass-10/index.php
。
Похоже, что ему удалось успешно предотвратить потенциальную атаку. Что касается вопроса скорости загрузки, давайте обсудим его здесь.
Скорость ограничена, и клиентам не разрешается загружать слишком большие файлы. Нам нужно загружать только изображения, а не видео, поэтому разумно установить верхний предел, например не более 2M. Этот диапазон должен удовлетворить большинство потребностей. Теперь давайте сделаем это подробно. Следует отметить, что эта операция выполняется не на уровне веб-защиты, а на уровне ускорения сайта.
Для лучшей демонстрации я не буду использовать глобальную конфигурацию, а буду использовать дифференцированную конфигурацию. Это означает, что мы отдельно настроим загрузку файлов по определенным путям в соответствии с потребностями бизнеса, как показано на рисунке.
Когда мы пытаемся загрузить очень большой файл, чтобы протестировать процесс загрузки.
В результате сайт блокируется, и у меня возникает ощущение, будто мой сайт недоступен. Похоже, мне нужно настроить специальную страницу ответов, чтобы не вводить посетителей в заблуждение, заставляя их думать, что сайт нестабильен.
Здесь нам нужно настроить страницу ответа. Содержание очень краткое и понятное, отображается в полном соответствии с примерами, предоставленными официальным сайтом.
Вышеуказанная страница создана, но еще не привязана к коду состояния 413. Далее мы уточним только что упомянутые правила. Пожалуйста, обратитесь к изображению ниже:
Когда мы снова посмотрим на его эффект, мы сможем сделать его более стабильным и немного украсить его, чтобы он соответствовал нашим потребностям и внешний вид мог быть более красивым, как показано на рисунке ниже.
До сих пор все потенциальные атаки на уязвимости при загрузке файлов были эффективно предотвращены, но путь долог, практика требует настойчивости, и молодым людям все еще нужно прилагать неустанные усилия.
В этой статье мы подробно рассмотрим Уязвимость. загрузки Различные случаи и меры профилактики файловых атак, а также практические действия при настройке дальности атаки. От уязвимостей внешней и внутренней проверки до использования файлов конфигурации Apacheи Файл содержит Метод атаки уязвимости демонстрирует важность защиты безопасности на каждом этапе.
В процессе обучения и практики мы уделяем внимание не только Как проводить атаки, уделяя больше внимания тому, как защитить собственные серверы от таких атак. Мы использовали EdgeOne в качестве примера решения, чтобы показать, как использовать предоставляемые им правила защиты для эффективной защиты от угроз. загрузки файлов。
Будь в Оформлении Подробные операции в процессе съемки,Все еще анализируете случаи атак?,Осознание безопасности и применение защитных мер имеют решающее значение. через эту статью,Мы надеемся, что читатели смогут глубже понять и применить эти принципы безопасности.,Чтобы защитить вашу сеть и серверы от атак.
На пути к кибербезопасности обучение никогда не заканчивается. Давайте работать вместе, чтобы постоянно совершенствовать наши навыки и обеспечивать безопасность и стабильность сетевой среды.
Я Сяоюй, трудолюбивый серверный программист Java, который посвятил себя изучению тайн технологии искусственного интеллекта. Мне нравится техническое общение и обмен информацией, и я увлечен сообществом открытого исходного кода. Он превосходный автор Nuggets, соавтор контента Tencent Cloud, эксперт-блогер Alibaba Cloud и эксперт Huawei Cloud Sharing.
💡 Я без колебаний поделюсь своими личными исследованиями и опытом на техническом пути, надеясь вдохновить вас и помочь вам в обучении и росте.
🌟 Добро пожаловать, обратите внимание на трудолюбивого Сяоюй! 🌟