Статья 87: Полная версия инструмента обнаружения уязвимостей платформы Struts2, исходная версия (обнаружение уязвимостей, а не эксплуатация уязвимостей)
Статья 87: Полная версия инструмента обнаружения уязвимостей платформы Struts2, исходная версия (обнаружение уязвимостей, а не эксплуатация уязвимостей)

Часть 1. Предисловие

Привет всем, я ABC_123。существовать2016год,Многие веб-сайты Java-приложений разработаны на основе Struts2ramka.,Поэтому существует множество версий Struts2.,Первоначальная цель разработки этого инструмента — помочь тестировщикам безопасности быстро находить Struts2лазейки. В более позднем процессе обновления,ABC_123 Сделайте этот инструмент максимально простым и легким в использовании.,Даже новички, ничего не знающие об уязвимостях Struts2, могут быстро помочь компаниям найти уязвимости Struts2 и устранить их.

Примечание:此前该工具一直существовать内部流传从未公开,Но год или два назад другие блоггеры с публичными аккаунтами, блоги и т. д. уже сделали этот инструмент доступным для скачивания. Многие друзья опасаются, что в публичной версии есть проблемы с безопасностью.,Надеюсь выпущу официальную версию,Поразмыслив об этом, я мог бы с таким же успехом опубликовать исходную версию на github.,Вы можете использовать его как инструмент исследования.,Используйте с уверенностью。В конце статьи указан адрес для скачивания.

Часть 2. Введение в программу

  • Основные моменты программы

Точное обнаружение уязвимостей:дляStruts2лазейкиобнаружение,Ложноположительные результаты случаются редко. за последние 8 лет,ABC_123На основе отзывов пользователей сети,Постоянно исправляя ошибки,Логика обнаружения уязвимостей Struts2 корректировалась сотни раз.

Заявления об обнаружении различны:каждыйлазейки Все заявления об обнаружении прошлиABC_123корректировки и модификации,Старайтесь избегать срабатывания сигналов тревоги WAF, насколько это возможно, вы можете использовать оператор обнаружения лазейки;,точно не два,Сделайте это за один шаг, насколько это возможно.

Размер программы меньше:ABC_123В этом отношениипрограмма Код был значительно оптимизирован,Окончательный размер программы составляет всего около 100 КБ.

  • Введение в программу

1. Нажмите «Обнаружить уязвимости», и программа автоматически определит, содержит ли URL-адрес S2-001, S2-005, S2-009, S2-013, S2-016, S2-017, S2-019, S2-020/021. , С2-032 , S2-037, DevMode, S2-045/046, S2-052, S2-048, S2-053, S2-057, S2-061, S2-062, эксклюзивный Struts2 log4j2 и более десяти видов уязвимостей.

2. «Пакетная проверка»,(Чтобы предотвратить пакетную обработку гешелла, эта функция не включена в общедоступную версию.)。

3. S2-020 и S2-021 предоставляют только функции сканирования уязвимостей. Поскольку эксплуатация уязвимостей может привести к несанкционированному доступу к веб-сайту, эта программа на данный момент не предоставляет их.

4. Для страниц, требующих входа в систему, установите флажок «Установить глобальное значение файла cookie» и заполните соответствующий файл cookie. Программа будет получать файл cookie каждый раз, когда отправляет пакет.

5. Автор ABC_123 внес множество изменений в инструкции тестирования уязвимостей Struts2 разных версий, а функции выполнения команд и загрузки стали универсальными.

6. Поддерживает три метода запроса: GET, POST и UPLOAD. Вы можете выбирать свободно (ЗАГРУЗКА отправляется в многочастном режиме).

7. Некоторые тесты на уязвимости поддерживают преобразование кодировок UTF-8, GB2312 и GBK.

8. Включите поток для каждой операции, чтобы предотвратить зависание интерфейса операции.

9. Программа больше не будет обновлять функцию обхода WAF, поскольку как только функция обхода WAF обновится и инструмент распространится, он вскоре станет недействительным.

  • Краткое описание распространенных уязвимостей Struts2

Основываясь на прошлых исследованиях и опыте анализа уязвимостей Struts2, проведенных ABC_123, следующая сводка представлена ​​только для справки.

Общие номера уязвимостей:S2-005、S2-016、S2-017、S2-045、S2-046、S2-057、S2-режим отладки、S2изLog4j2ждать,Это наиболее распространенные лазейки (лазейки в режиме отладки Struts2).,В последние годы официально не включался.,Значит и патча нет).

Редкие ошибки:S2-001、S2-009、S2-019、S2-032、S2-037ждать,Они встречаются время от времени.

Трудноэксплуатируемые уязвимости:S2-020、S2-021Также относительно распространен,Но использовать его сложно,Результат getshell, скорее всего, приведет к сбою веб-сайта.,Таким образом, этот сайт не предусматривает никакого использования, связанного с лазейками.

столб Редкие ошибки:S2-013、S2-048、S2-052、S2-053、S2-061、S2-062、S2-066ждать。Этилазейки Условия использования слишком суровые.,По сути, вы не встретите его в реальном бою.,Может использоваться в сочетании с аудитом кода.

  • Навыки использования инструмента

Если программа обнаруживает уязвимость выполнения кода Struts2-045/S2-046, но не может выполнять команды или загружать файлы, выберите номер уязвимости вручную. Из-за проблемы с целевой средой веб-сайта некоторые инструкции по тестированию уязвимостей Struts2 различаются в разных веб-средах, поэтому необходимо переключиться на разные режимы использования.

Обнаружение уязвимостей Log4j2 в среде Struts2 отличается от других платформ и требует специально составленных операторов обнаружения. Если вы хотите использовать этот инструмент для обнаружения уязвимости log4j2 в Struts2, вам необходимо вручную изменить адрес DNSLog. Если вы не измените адрес DNSLog по умолчанию, программа пропустит сканирование уязвимости Log4j2.

  • Другие циркулирующие версии инструмента

В настоящее время более распространенной у всех на руках является версия 17-6, показанная на картинке ниже, которая была обновлена ​​в мае 2017 года. Также существует полуфабрикат версии 18.09. Эта версия имеет много ошибок и не является таковой. рекомендуется к использованию.

Для уязвимостей Struts2 в некоторых случаях эхо отсутствует, поэтому их необходимо оценивать с помощью отложенного решения.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose