• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь. Мобильный клиент для IOS находится в itunes по этой ссылке

Статья Wapiti - Сканер Web - приложений

Vander

CodebyTeam
Администратор
16.01.2016
1 226
3 347
#1
Приветствую, Codeby! Давно хотел обратить внимание аудитории, на замечательный сканер, анализирующий веб - приложения, под названием Wapiti. Информация о нем проскальзывала уже на нашем борде, но, в этой статье речь пойдет об обновлении этого инструмента.

1515844301877.png

Wapiti - позволяет вам проверить безопасность ваших веб-сайтов или веб-приложений.
Он выполняет сканирование «черного ящика» (не изучает исходный код) веб-приложения, анализ страниц относящихся к приложению. И поиск скриптов и форм принимающих данные от пользователей.
Тестирование «черного ящика» – это:
  • тестирование, как функциональное, так и нефункциональное, не предполагающее знания внутреннего устройства компонента или системы.
  • тест-дизайн, основанный на технике черного ящика – процедура написания или выбора тест-кейсов на основе анализа функциональной или нефункциональной спецификации компонента или системы без знания ее внутреннего устройства.
Почему именно «черный ящик»? Тестируемая программа для тестировщика – как черный непрозрачный ящик, содержания которого он не видит. Целью этой техники является поиск ошибок в таких категориях:
  • неправильно реализованные или недостающие функции;
  • ошибки интерфейса;
  • ошибки в структурах данных или организации доступа к внешним базам данных;
  • ошибки поведения или недостаточность производительности системы;
Таким образом, мы не имеем представления о структуре и внутреннем устройстве системы. Нужно концентрироваться на том, что программа делает, а не на том, как она это делает.
Как только он получает список URL-адресов, форм и их входов, Wapiti действует как fuzzer, подставляя полезные нагрузки, чтобы увидеть, является ли сценарий уязвимым.
Обновление в Wapiti 3.0.0:
  • Поиск файлов (локальные и удаленные, include/require, fopen, readfile ...)
  • Инъекция базы данных (инъекции PHP / JSP / ASP SQL и инъекции XPath)
  • XSS (Cross Site Scripting) инъекции (отраженные и постоянные)
  • Обнаружение методов исполнения команд (eval (), system (), passtru () ...)
  • CRLF Injection (разделение ответа HTTP, фиксация сеанса ...)
  • XXE (XML External Entity) injection
  • Использование известных потенциально опасных файлов (благодаря базе данных Nikto)
  • Уявимости в конфигурациях .htaccess, которые можно обойти
  • Наличие резервных файлов, предоставляющих конфиденциальную информацию (раскрытие исходного кода)
  • Shellshock (также известный как Bash bug)
Модуль buster также позволяет проводить bruteforce атаку на каталоги и имена файлов на целевом веб-сервере.
Wapiti - поддерживает методы GET и POST HTTP для атак.
Он также поддерживает multipart/form-data и может вводить полезную нагрузку в имена файлов.
Предупреждения возникают при обнаружении аномальных ответов (например, 500 ошибок и тайм-аутов)
Wapiti определяет разницу между постоянной и отраженной уязвимостью XSS.
Функциональные особенности:
  • Создание отчетов об уязвимостях в различных форматах (HTML, XML, JSON, TXT ...)
  • Возможность приостанавливать и возобновлять сканирование или атаку (механизм сеанса с использованием баз данных sqlite3)
  • Цветовое выделение строк с найденными уязвимостями
  • Уровни сканирования
  • Быстрый и простой способ активировать / деактивировать модули атаки
  • Добавление полезной нагрузки может быть таким же простым, как добавление строки в текстовый файл
Возможности:
  • Поддержка прокси HTTP, HTTPS и SOCKS5
  • Аутентификация с помощью нескольких методов: Basic, Digest, Kerberos или NTLM
  • Возможность ограничить область сканирования (домен, папка, страница, URL-адрес)
  • Автоматическое удаление одного из них - больше параметров в URL-адресах
  • Множественные меры предосторожности против бесконечных циклов сканирования (пример ifor, ограничение значений для параметра)
  • Возможность установки первых URL-адресов для изучения (даже если не в области)
  • Возможность исключить некоторые URL-адреса сканирования и атак (например: URL logout)
  • Импорт файлов cookie (получения их с помощью инструмента wapiti-getcookie)
  • Возможность активировать/деактивировать проверку сертификатов SSL
  • Извлечение URL из Flash SWF-файлов
  • Возможность извлечь URL из javascript (очень простой JS-интерпретатор)
  • HTML5 (understand recent HTML tags)
  • Несколько вариантов управления поведением и ограничениями crawler’a.
  • Пропуск некоторых имен параметров во время атаки.
  • Установка максимального времени для процесса сканирования.
  • Добавление некоторых настраиваемых HTTP-заголовков или настройка пользовательского User-Agent.
Установка:
Скачиваем Wapiti и распаковываем отсюда:

Код:
https://sourceforge.net/projects/wapiti/files/
Запускаем установку:

Код:
python3 setup.py install
1515844376731.png

Справка:

Код:
wapiti –h
1515844447884.png

Запуск сканирования:

Код:
wapiti –u http://example.com/
1515844477784.png

Отчет сохраняется в .html файле. На этом все, надеюсь, информация окажется полезной.
 

Citizen0

Well-known member
07.02.2017
159
179
#6
Симпатии: Понравилось Mokh

Xulinam

Well-known member
02.03.2017
325
136
#8
Traceback (most recent call last):
File "/usr/local/bin/wapiti", line 11, in <module>
load_entry_point('wapiti==3.0.0', 'console_scripts', 'wapiti')()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 572, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2752, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2405, in load
return self.resolve()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2411, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python2.7/dist-packages/wapiti-3.0.0-py2.7.egg/wapitiCore/main/wapiti.py", line 386
print("{}: {}".format(exception.__class__.__name__, exception), file=fd)
^
SyntaxError: invalid syntax
вот с таким болтом я сталкнулся
 
Симпатии: Понравилось Mokh

r0hack

DAG
Gold Team
29.09.2017
441
739
#9
Traceback (most recent call last):
File "/usr/local/bin/wapiti", line 11, in <module>
load_entry_point('wapiti==3.0.0', 'console_scripts', 'wapiti')()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 572, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2752, in load_entry_point
return ep.load()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2405, in load
return self.resolve()
File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2411, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python2.7/dist-packages/wapiti-3.0.0-py2.7.egg/wapitiCore/main/wapiti.py", line 386
print("{}: {}".format(exception.__class__.__name__, exception), file=fd)
^
SyntaxError: invalid syntax
вот с таким болтом я сталкнулся
Python:
sudo apt-get install python-requests
или
Python:
pip3 install requests
 
Симпатии: Понравилось Mokh
Вверх Снизу