exec
— исправлена ошибка при пустой опции.stdout
— информация об устаревании Arachni и его преемнике Ecsypno SCNR.html
— информация об устаревании Arachni и его преемнике Ecsypno SCNR.Browser#eelenium
— отключён sandbox.--scope-dom-depth-limit
— изменено значение по умолчанию с 5
на 4
.--scope-auto-redundant
— изменено значение по умолчанию с inf
на 15
.--scope-directory-depth-limit
— изменено значение по умолчанию с inf
на 10
.--browser-cluster-pool-size
— изменено значение по умолчанию с 5
на 4
.--http-max-concurrency
— изменено значение по умолчанию с 20
на 10
.--scope-dom-event-inheritance-limit
— ограничивает количество унаследованных событий.--browser-cluster-session-storage
— устанавливает хранилище сеансов браузеров.--browser-cluster-wait-for-timers
— ожидание максимального setTimeout()
— ранее было жёстко задано как true
, теперь по умолчанию false
.URI
#encode
— порядок кодирования +
исправлен.#decode
— порядок декодирования +
исправлен.Element
NestedCookie
: обрабатывает пары ключ-значение внутри отдельных файлов cookie.Browser
— PhantomJS заменён на headless Chrome.
Javascript
DOMMonitor
#elements_with_events
— опционально ограничивает наследование событий.Rest::Server
/scans/:id/report.afr
.Support
#spawn
— параметры Arachni передаются через ENV
, а не ARGV
..git
.#document
— обновлён для ленивого анализа документа.setInterval()
, поскольку они не используются.nil
.Исполняемые файлы
Опции
--http-cookie-string
— принимает только файлы cookie в формате Set-Cookie, а не Cookie.--browser-cluster-job-timeout
--http-authentication-type
--scope-dom-event-limit
— ограничение количества событий DOM, запускаемых для каждой глубины DOM.--daemon-friendly
— отключает экран статуса.UI
URI
HTTP
Добавлена поддержка настраиваемого параллелизма запросов источника для сохранения количества потоков на низком уровне.
Добавлена поддержка запросов Connection: Upgrade путём туннелирования соединений WebSocket.
Client
Добавлен заголовок X-Arachni-Scan-Seed, который включает случайное начальное число сканирования.
Dynamic404Handler
Browser
Обновлён движок до PhantomJS 2.1.1.
Удалено Content-Security-Policy, чтобы разрешить запуск среды Arachni JS.
#snapshot_id — перемещён в DOMMonitor на стороне браузера для повышения производительности.
#capture — извлекает параметры запроса из POST-запросов.
#capture_snapshot — дедупликация на основе URL DOM и переходов.
ElementLocator — исправлена ошибка, вызывающая сбой CSS-селекторов с символами UTF8.
Javascript
BrowserCluster
Element
Capabilities
DOM
Session — позволяет указать ввод отправки, когда вход должен быть инициирован нажатием на него, а не просто запуском события отправки формы.
REST API
Report
Plugins
Новые
proxy — bind_address по умолчанию переключён на 127.0.0.1, 0.0.0.0 нарушает перехват SSL на MS Windows.
metrics
email_notify
Checks
Активные
path_traversal
— увеличено максимальное количество переходов до 8.
Пассивный:
backup_files
— игнорирование медиафайлов во избежание ложных срабатываний при работе с галереями и тому подобным. Добавлена заметка о проблеме, объясняющая, как манипулировали исходным именем ресурса.
backup_directories
— добавлена заметка о проблеме, поясняющая, как было изменено исходное имя ресурса.
xst
— запуск один раз для каждого протокола, а не только для первой страницы.
Извлечение пути:
data_url
— извлечение из всех элементов, а не только ссылок.Отчётность:
xml
— заменено неподдерживаемое нулевое значение байтов на заполнитель. issues/issue/page/dom/data_flow_sinks/data_flow_sink/frame/line
теперь может быть пустым.Совместимость с родной операционной системой MS Windows.
Опции:
— --http-proxy-type
— добавлен socks5h
, обеспечивающий разрешение имён хостов через прокси.
Добавлено:
Область:
— --scope-exclude-file-extensions
— CSV расширений файлов для исключения.
Аудит:
— --audit-with-raw-payloads
— внедряет как необработанные, так и HTTP-закодированные полезные данные.
URI
— оптимизирован и переписан для полного обхода библиотеки URI
Ruby.
Плагин::Менеджер:
— Запуск методов #prepare
плагинов в потоке Framework в порядке приоритета плагинов.
HTTP:
— ProxyServer
— предыдущий сервер на основе WEBrick
заменён на собственный, написанный с поддержкой keep-alive
и низкозатратного перехвата SSL.
— Клиент:
* добавлено значение по умолчанию для заголовка Accept-Language
.
* обновлён для обработки файлов cookie как простого хранилища без кодирования/декодирования имён и значений.
* Dynamic404Handler
— проверка на чрезмерное количество шума во время создания пользовательской подписи 404 и прерывание, если точное чтение невозможно.
Страница:
— DOM:
* #restore
— не загружать сохранённую страницу, чтобы избежать устаревших одноразовых номеров, вместо этого полагаться исключительно на браузер для кэширования.
Браузер:
— Заменено внутреннее использование Watir
прямым доступом к Selenium
, что привело к значительному повышению производительности и снижению использования процессора.
— Ускорен процесс порождения.
— Переключён на HTTP-клиент Selenium
по умолчанию для связи WebDriver
для решения проблем JRuby и MS Windows.
— Добавлена поддержка отслеживания делегирования событий.
— #spawn_phantomjs
— использование процесса-спасателя Ruby для уничтожения браузера, если родитель умирает по какой-либо причине.
— #fire_event
— отслеживание изменений таймеров, вызванных триггерами событий, для идентификации и ожидания эффектов и переходов.
Поддержка:
— Подпись — оптимизация токенизации, дедупликации и сжатия подписей для снижения ресурсоёмкости при обработке больших наборов данных.
— Кэш — минимизированы вызовы Base#make_key
.
Добавлены:
Сеанс:
— добавлен #check_options
, позволяющий сценариям входа устанавливать расширенные параметры HTTP-запроса для проверок входа.
REST::Сервер — добавлен REST API.
RPC:
— Сервер: * ActiveOptions#set — позволяет устанавливать параметры во время выполнения и соответственно корректировать область сканирования.
Элемент:
— UIInput::DOM — обновлённый расчёт идентификатора покрытия.
— UIForm::DOM — обновлённый расчёт идентификатора покрытия.
Возможности:
Анализируемый:
— подпись — замена regexp
и substring
на signature
— тип сопоставления зависит от типа signature
.
— Позволить signature
генерироваться динамически на основе ответа HTTP::Response
, который будет проверен, из вызываемого объекта.
Различимый:
— Прерывание при частичных ответах во избежание ложных срабатываний, вызванных нагрузкой на сервер или брандмауэром/системой обнаружения вторжений/системой предотвращения вторжений.
Тайм-аут:
— добавлена ещё одна фаза проверки для дальнейшего снижения вероятности случайных ложных срабатываний.
Проверки:
Активные. — Обновлены все проверки, использующие Element::Capabilities::Analyzable::Signature
, чтобы по возможности предоставлять простые сигнатуры в виде подстрок. В противном случае они используют динамическую генерацию сигнатур на основе текущего ответа и выполняют облегчённую предварительную проверку на наличие признаков уязвимости, только после этого применяется более ресурсоёмкое сопоставление с регулярным выражением.
— xss
, xss_dom
, xss_tag
, xss_event
, xss_script_context
— оптимизирована идентификация испорченных ответов, чтобы избежать анализа как можно больше.
— xss_dom
— обновлены полезные данные для улучшения покрытия.
— sql_injection_differential
:
* заменено контрольное значение -1
на false
значением -1839
;
* при использовании кавычек заключать в кавычки все части условного выражения в SQL-запросе.
— no_sql_injection_differential
:
* заменено контрольное значение -1
на false
значением -1839
.
Пассивные проверки:
— directory_listing
— выход из строя при неудачных запросах во избежание ложных срабатываний.
— backdoors
, backup_directories
, backup_files
, common_admin_interfaces
, common_directories
, common_files
— выход из строя, если исходный ресурс уже является 404.
Grep:
emails
— проверка адресов электронной почты путём разрешения идентифицированных доменов.
credit_card
, ssn
— помечаются проблемы как ненадёжные по умолчанию, поскольку нет способа проверить SSN.
http_only_cookies
, insecure_cookies
— проверять только текущие куки страницы, не позволяя куки CookieJar проскользнуть внутрь.
insecure_cookies
— также проверять куки JS.
Плагины:
proxy
:
email_notify
— имя пользователя и пароль стали необязательными.
defaults/meta/remedy/
:
discovery
— обновлённая проверка сходства для предотвращения анализа отдельных проблем.Репортёры:
xml
— сообщения проверки обновлены для указания на соответствующую разметку.Извлечение пути:
meta_refresh
— удаление пробелов из URL-адресов, когда они не заключены в кавычки.Интерфейс пользователя:
test.com
заменён на example.com
.Браузер:
HTTP:
#body_parameters
— добавлена поддержка multipart/form-data
.Элемент:
Форма:
.parse_data
— анализ multipart/form-data
.UIForm:
.from_browser
— включить кнопки <input type="submit">
.Пользовательский интерфейс:
--http-ssl-key
— исправлена опечатка, вызывающая ошибку параметра.Пользовательский интерфейс:
--browser-cluster-local-storage
— устанавливает данные localStorage
из файла JSON.Проблема:
#variations
— удалены, теперь все проблемы включают полные данные.
#unique_id
, #digest
— в случаях пассивных проблем теперь учитывается связанный #proof
.
Данные:
#update_sitemap
— не добавлять в карту сайта URL-адреса, включающие Utilities.random_seed
, чтобы уменьшить шум.Элементы:
Cookie:
.encode
— обновлённый список обратных символов.
.decode
— обработка повреждённых кодировок.
Form:
.decode
— обработка повреждённых кодировок.UIForm — аудит групп <input>
и <button>
, которые не принадлежат родительскому элементу <form>
. Также охватывает случаи отправки <form>
, происходящие через элементы, отличные от кнопки отправки.
UIInput — аудит отдельных элементов <input>
, имеющих связанные события DOM.
Capabilities — переработан для облегчения расширения возможностей DOM.
Запрос:
Заголовки:
Прокси-сервер:
Страница:
Парсер:
Элемент:
Очищено кодирование входных значений для каждого элемента.
Принудительное применение MAX_SIZE к допустимым значениям во время анализа.
Оптимизация, чтобы избежать анализа HTML, если он не содержит указаний на элементы.
Сервер:
Возможности:
Проверка::Аудитор:
Проблема:
Браузер:
Поддержка:
Проверки — добавлено доказательство Issue#proof к как можно большему количеству проблем.
Активные:
Пассивные:
Поддержка форм с несколькими значениями для элементов отправки (submit) с одинаковыми именами.
Server
#log_remote_file_if_exists
— Выполнить некоторый базовый метаанализ возможных проблем и отправлять в систему только те ресурсы, которые превышают определённый порог схожести. Это позволяет избежать бесконечных циклов при работе с ненадёжными пользовательскими отпечатками 404.
Capabilities
Mutable:
:param_flip
=> :parameter_names
:parameter_values
.:with_extra_parameter
.Analyzable:
WithDOM:
#skip_dom
(устанавливается через Browser#to_page
), чтобы предотвратить загрузку и аудит DOM, когда нет связанных событий.Page
Добавлены:
#update_metadata
, обновляет #metadata
из #cache
элементов.
#reload_metadata
, обновляет элементы #cache
из #metadata
.
#import_metadata
, импортирует #metadata
с другой страницы.
DOM:
#restore
— Добавлены отладочные сообщения.Utilities
Добавлен метод .full_and_absolute_url?
.
Browser
Обновлён для извлечения векторов входных данных JSON и XML из HTTP-запросов.
#cookies — Нормализует файлы cookie с заключёнными в кавычки значениями, поскольку Watir не заботится об этом.
#shutdown — Исправлены исключения Selenium на мёртвом процессе браузера.
#to_page — Применяет метаданные DOM к элементам страницы.
#spawn_phantomjs — Включена опция --disk-cache
для phantomjs
.
#fire_event — Перекодирует входные значения для исправления ошибок кодирования.
#to_page — Возвращает пустую страницу при недоступных данных ответа вместо nil
.
#snapshot_id — Обновлён, чтобы учитывать только важные атрибуты элементов (в зависимости от типа), а не все из них.
ElementLocator:
#css
.Javascript:
Добавлен метод .select_event_attributes
.
DOMMonitor:
#digest
— Удалено data-arachni-id
из дайджеста.TaintTracer:
escape()
unescape()
String
:
indexOf()
lastIndexOf()
jQuery
:
cookie()
.BrowserCluster:
#browser_respawn
— Отлавливает ошибки Watir/Selenium.Session: Обеспечивает закрытие браузера после каждой операции входа в систему.
Check:
#each_candidate_dom_element
— Выводит элементы DOM вместо родительских элементов.Plugin:
#run
— Оптимизирована инициализация плагина за счёт использования очереди для сигнализации состояния готовности вместо блокировки на 1 секунду.Checks:
unvalidated_redirect_dom
— Регистрирует перенаправления на основе DOM без проверки.xxe
— Регистрирует уязвимости внешних сущностей XML.trainer
— Отключён параметр flip для полезной нагрузки, чтобы избежать загрязнения параметров.os_cmd_injection
— Используется только прямая инъекция полезной нагрузки вместо прямой и добавления.code_injection
— Используется только прямая инъекция полезной нагрузки вместо прямой и добавления.xss
— При аудите ссылок не... Атрибуты
BrowserCluster
Session
Element
Плагины
uncommon_headers
content_types
cookie_collector
autologin
UI::Output — обновлён интерфейс нулевого вывода с методами отладки заполнителей.
Browser
BrowserCluster
Form
Проверки
RPC::Server::Dispatcher
Parser
HTTP::Client
HTTP::Request
UI::CLI::Utilities
Check::Auditor
Hash — переименованы добавленные методы во избежание конфликтов с ActiveSupport.
Плагины
Репортёры
stdout
html
Проверки
Активны
RPC
HTTP расширен до полной оболочки вокруг Typhoeus, предоставляя:
Браузер — реальный драйвер браузера с поддержкой DOM/JS/AJAX.
Кластер браузеров — поддерживает пул экземпляров Arachni::Browser и распределяет рабочую нагрузку анализа нескольких ресурсов.
Страница
Page::DOM — статический снимок DOM, вычисленный реальным браузером.
Парсер — обновлён, чтобы работать только в контексте HTTP::Response, с которым он был инициализирован, больше не поддерживает анализ данных из внешних источников.
Параметры — переписаны с переименованными именами параметров и сгруппированными соответствующими параметрами вместе.
Отчёт (переименован из AuditStore)
Компонент::Параметры — переработанный инициализатор и API.
Репортёры (переименованы из Reports)
Плагины
Экстракторы путей
Все компоненты фреймворка (модули, плагины, отчёты и т.д.) перемещены под components/.
Модули переименованы в проверки, также:
Checks
Переименовано:
Активно:
Пассивно:
Spider:
HTTP:
Element:
Плагины:
Модули:
Пользовательские интерфейсы командной строки:
Опции:
Session — #ensure_logged_in — повтор при сбое входа.
Spider — не применять ограничения области к начальному URL.
Framework — аудит — сохранённые страницы теперь выгружаются на диск для снижения потребления оперативной памяти.
Trainer — #push — печатает подробные сообщения в случае нарушения области.
HTTP — уменьшен максимальный размер очереди запросов с 5000 до 500 для уменьшения использования оперативной памяти за счёт предотвращения хранения большого количества запросов в течение длительного времени. Обновлён для использования нового класса Support::Signature для пользовательских подписей 404.
RPC::Server::Dispatcher — теперь поддерживает указание внешнего адреса для развёртывания за NAT.
Element::Capabilities::Auditable::RDiff — обновлён для использования нового класса Support::Signature для выполнения ответа. Сравнение блоков.
false
в качестве контрольного.Element::Capabilities::Auditable::Timeout
Element::Capabilities::Auditable::Taint
Element::Capabilities::Auditable#audit
:skip_like
, принимающая блоки, используемые для фильтрации мутаций, которые должны быть проверены.#each_mutation
вместо #mutations
.Element::Capabilities::Mutable
#each_mutation
для генерации мутаций на лету вместо использования #mutations
для создания массива мутаций.#mutations
, теперь оно делегируется #each_mutation
.Element::Cookie#encode
=
в значении cookie без кодирования.Элемент::Форма — кнопки теперь также рассматриваются как входы.
Options#load — обновлено для поддержки сериализованных объектов Hash.
Добавлена поддержка::Подпись — класс подписи, используемый для создания и уточнения подписей из объектов String.
Модули
Аудит
\
.Разведка
Плагины
Удалённые:
Обновлённые:
print_bad
на print_error
, чтобы ошибки записывались в журнал ошибок. Сканирование приостанавливается и ожидает действий пользователя после сбоя.filter
, используемый для определения того, какие файлы cookie регистрировать на основе шаблона, соответствующего именам файлов cookie.Отчёты — добавлено content_type
ко всем отчётам с опцией outfile
в .info
.
gemspec — добавлен bundler
как зависимость во время выполнения.
Извлечённые пути
Удалённый:
Element::Capabilities::Auditable::Taint — исправлена ошибка, возникающая, когда модули не имеют полезных нагрузок для каждой платформы.
Element::Capabilities::Auditable::Taint. Паттерны теперь могут быть специфичными для платформы, что улучшает распознавание отпечатков пальцев на этапе аудита и снижает нагрузку на процессор при анализе ответов.
Модули:
path_traversal
):
/etc/passwd
, чтобы они были более общими.file_inclusion
.sqli
):
os_cmd_injection
):
file_inclusion
) — извлечено из path_traversal
. Использует распространённые файлы на стороне сервера и ошибки для выявления проблем.localstart_asp
) — проверяет доступность localstart.asp
.Плагины:
uncommon_headers
) — регистрирует необычные заголовки.Извлечение путей:
comments
).Опции:
--http-username
— имя пользователя для HTTP-аутентификации.--http-password
— пароль для HTTP-аутентификации.Element::Capabilities::Auditable::RDiff
— оптимизирована и повышена точность анализа.Отчёты:
Модули:
x_forwarded_for_access_restriction_bypass
) — повторяет запрещённые запросы с заголовком X-Forwarded-For
, пытаясь обмануть веб-приложение, заставив его думать, что запрос исходит от localhost
, и проверяет, удалось ли обойти ограничения.form_upload
) — помечает формы загрузки файлов как требующие ручного тестирования.htaccess_limit
) — обновлён для использования также подмены глаголов.source_code_disclosure
) — проверяет, можно ли заставить веб-приложение раскрыть исходный код.code_execution_php_input_wrapper
) — внедряет PHP-код в тело HTTP-запроса и использует оболочку php://input, чтобы попытаться загрузить его.sqli_blind_rdiff
) — улучшена точность результатов.path_traversal
) — уровень опасности установлен на «Высокий». Обновлён, начиная с /
и заканчивая /../../../../../../
. Добавлены отпечатки для /proc/self/environ
. Улучшено покрытие для MS Windows.rfi
) — обновлено для обработки случаев, когда веб-приложение добавляет собственное расширение к внедряемой строке.Session#find_login_form
— сохраняет файлы cookie, установленные страницей, содержащей форму входа.
Плагины:
TemplateScope
.Модули:
path_traversal
) — добавлены дополнительные отпечатки для /etc/passwd
.Протокол RPC:
Syck
на Psych
(текущий стандарт Ruby по умолчанию).Исполняемые файлы:
arachni_multi
— порождает и контролирует экземпляр. Slave instances
RPC::Server::Framework::Master
— содержит API и утилиты для master-экземпляров.
Master seed crawl выполняется в отдельном потоке, чтобы избежать блокировки во время начального процесса заполнения.
Убрана концепция сводок по проблемам — использовались для облегчённой передачи данных о проблемах для обратной связи в реальном времени. Вместо этого полные проблемы буферизуются и сбрасываются мастеру после проверки каждой страницы.
RPC::Server::Framework::Distributor#distribute_elements
оптимизирован для работы с большими наборами данных.
RPC::Server::Spider
обновлена стратегия буферизации для уменьшения вызовов RPC.
Очищены и удалены переменные @@
из:
Module::Manager
,Module::KeyFiller
,Plugin::Manager
,Parser
.Перемещены вспомогательные классы в Arachni::Support
.
Support::Cache
теперь хранят значения #hash
ключей для экономии места.Добавлены:
Пространство имён Support::LookUp
для хранения оптимизированных структур данных с:
Support::LookUp::HashSet
— хранит хешированные элементы в наборе;Support::LookUp::Moolb
— обратное фильтру Блума;Support::Queue::Disk
— дисковая очередь с буфером в памяти.
Добавлено:
Arachni::Platform
— содержит ресурсы, относящиеся к идентификации платформы, хранению и фильтрации.
Fingerprinters
— пространство имён, в котором находятся все компоненты фингерпринтеров.List
— структура списка, содержащая применимые платформы для данного WWW-ресурса.Manager
— коллекция списков для удобного управления платформами разных типов.IO#tail
— возвращает указанное количество строк снизу файла.
Вспомогательные процессы для серверов экземпляров и диспетчеров RPC:
Arachni::Processes::Dispatchers
— порождает и убивает диспетчеры;Arachni::Processes::Instances
— порождает и убивает экземпляры;Arachni::Processes::Manager
— разветвляет и убивает процессы.Тесты RSpec:
spec/support/
.Модули:
Аудит:
code_injection
— удалён код на Ruby, так как он не применялся. Обновлён для категоризации полезных нагрузок по платформе.code_injection_timing
— очистка кода. Удалён файл payloads.txt
, полезные нагрузки теперь находятся в модуле. Обновлён для категоризации полезных нагрузок по платформе.os_cmd_injection
— очистка кода. Удалён файл payloads.txt
, полезные нагрузки теперь находятся в модуле. Обновлён для категоризации полезных нагрузок по платформе.os_cmd_injection_timing
— очистка кода. Удалён файл payloads.txt
, полезные нагрузки теперь находятся в модуле. Обновлён для категоризации полезных нагрузок по платформе.path_traversal
— очистка кода. Обновлён для категоризации полезных нагрузок по платформе.sqli_blind_timing
— очистка кода. Файл payloads.txt
разделён на отдельные файлы для каждой платформы. Обновлён для категоризации полезных нагрузок по платформе.Разведка:
html_objects
— обновлено описание.Плагины:
Прокси:
Автологин:
Опции
--https-only
, чтобы запретить переход на HTTP, если начальный URL использует HTTPS.--exclude-page
, чтобы исключить страницы, тела которых соответствуют заданным шаблонам.--version
для отображения информации о версии.Обновления исключений, генерируемых фреймворком:
Убраны пространство имён Arachni::Exceptions
и использование исключений этого пространства имён. Вместо этого используется базовое исключение Arachni::Error
, от которого наследуются все специфические исключения компонентов.
RPC
opts
— теперь представляет интерфейс RPC::Server::ActiveOptions
, который активно настраивает определённые параметры в нескольких системных компонентах.service
— обновлён следующими удобными методами, чтобы предоставить более простой интерфейс для пользователей, которые не хотят использовать более специализированные обработчики (opts
, modules
, framework
и т. д.):
#errors
— возвращает содержимое журнала ошибок.#scan
— настраивает и запускает сканирование.#progress
— агрегирует информацию о прогрессе.#busy?
— проверяет, продолжается ли сканирование.#pause
— приостанавливает сканирование (делегируется RPC::Server::Framework#pause
).#resume
— возобновляет сканирование (делегируется RPC::Server::Framework#resume
).#abort_and_report
— очищает фреймворк и возвращает отчёт.#abort_and_report_as
— очищает фреймворк и возвращает результат указанного компонента отчёта.#status
— возвращает статус экземпляра.#report
— возвращает отчёт о сканировании как Hash
.#report_as
— возвращает отчёт сканирования в одном из доступных форматов (как String
).#shutdown
— завершает работу экземпляра/останавливает сканирование.framework
— клиентам больше не нужно вызывать framework.clean_up
, если только они не отменяют запущенное сканирование.Marshal
и YAML
автоматически:
Marshal
по умолчанию, поскольку он во много раз быстрее, чем YAML
.YAML
как автоматический запасной вариант для обеспечения обратной совместимости и простоты интеграции с третьими сторонами. Обновлён для использования механизма Ruby по умолчанию Psych
.Framework
#clean_up
(как упоминалось ранее).#issues
теперь возвращает первый вариант каждой проблемы для предоставления дополнительной информации/контекста.Dispatcher
#workload_score
, возвращающий оценку рабочей нагрузки диспетчера как Float
.#failures
.#failures
.#audit_page
#push_to_page_queue
#push_to_url_queue
Arachni::Element::Capabilities::Auditable
#submit
и #audit
, чтобы по умолчанию использовать #use_anonymous_auditor
, когда аудитор не был предоставлен.Плагины:
AutoLogin — больше не экранирует заданные аргументы URI. [Проблема № 314].
Profiler — больше не является членом плагинов по умолчанию.
Метаанализ:
Удалено:
Методы анализа:
Модули:
Общие:
Обновлены названия модулей, некоторые описания и названия проблем.
Ограничено максимальное количество проблем до 25 для следующих модулей разведки:
XSS в теге скрипта: требуется ручная проверка — Arachni не может проверить среду выполнения JS. Добавлено замечание, информирующее пользователей об этом.
Утечка пути: добавлено больше полезных нагрузок для Windows.
Инъекция команды ОС: добавлено больше полезных нагрузок для Windows.
Добавлено:
Удалён:
Плагин:
Отчёты:
Проблемы:
Исполняемые файлы:
Добавлены:
Удалены:
HTTP:
Dispatcher: — добавлена модульность путём поддержки компонентов обработчиков, чей API может быть представлен через RPC (в разделе rpcd_handlers/).
Модули: — каждый модуль был очищен и добавлены тесты RSpec. Планирование: дорогие модули теперь запланированы для запуска после более дешёвых модулей аналогичного типа, и только элементы аудита, пропущенные более дешёвыми модулями, проверяются. API: — обновлён для предоставления доступа к запущенным плагинам. — обновлены удалённые средства обнаружения файлов и помощники ведения журнала для повышения производительности и точности в случае пользовательских 404. — операции аудита по умолчанию следуют перенаправлениям. Небезопасные формы паролей: проверка полей форм на ненулевое значение перед итерацией. [Проблема №136]. SSN: улучшено регулярное выражение и ведение журнала. [Проблема №170]. Незащищённые файлы cookie: регистрирует файлы cookie без флага «secure». (Новое). Файлы cookie HttpOnly: регистрирует файлы cookie без флага HttpOnly. (Новое). SQL-инъекция: теперь игнорирует нерелевантные сообщения об ошибках, чтобы уменьшить количество ложных срабатываний. XSS: улучшена точность обнаружения. RFI: добавлен начальный URL без протокола. Обход пути: добавлены начальные значения с URL-адресами file:// и для веб-приложений Tomcat. Добавлено: — фиксация сеанса; — много информации об обновлениях для таких вещей, как руководства по исправлению и ссылки. (Спасибо Самилу Кумару).
Плагины: — каждый плагин был очищен, и были добавлены тесты RSpec. AutoLogin: — добавлено обязательное регулярное выражение верификатора, чтобы убедиться, что вход выполнен успешно. (Новое); — теперь настраивает Framework для обнаружения выходов из системы и повторного входа во время аудита. (Новое). Proxy: — исправлена опечатка в коде, которая мешала правильной переадресации заголовков, что приводило к несуществующим типам контента, которые препятствовали правильному анализу. [Проблема № 135]; — обновлено для использования HTTP-интерфейса фреймворка вместо Net::HTTP; — теперь внедряет удобную маленькую панель управления в каждый ответ, который позволяет записывать последовательности входа и проверять обнаруженные страницы/элементы. VectorFeed: считывает векторные данные, из которых создаёт элементы для аудита. Может использоваться для выполнения чрезвычайно специализированных/узких аудитов для каждого вектора/элемента. Полезно для модульного тестирования или множества других вещей. (Новое). Script: загружает и запускает внешний скрипт Ruby в рамках плагина, используется для отладки и общего взлома. (Новое).
Дополнительно: все модули в разделе /extras пришлось удалить, поскольку они распространяли контент под лицензией GPLv3.
HTTP: — улучшено обнаружение пользовательских страниц 404. — теперь принимает глобальный тайм-аут (—http-timeout) в миллисекундах. — обновлённый хук #add_on_queue (вызывается #queue), который позволяет перехватывать и изменять HTTP-запросы перед их отправкой. — исправлен расчёт среднего количества запросов в секунду. — реализован Cookiejar. (Новое). — удалены теги запросов с системным семенем. — добавлен максимальный предел размера очереди — как только лимит запросов будет достигнут, поставленные в очередь запросы будут отправлены, чтобы разгрузить очередь. — добавлено #sandbox — изолирует данный блок от остальной части HTTP env и выполняет его.
Паук: переписан, гораздо более чистый дизайн и код. (Новое): — игнорирует параметры пути, чтобы избежать бесконечных циклов (например, http://stuff.com/deep/path;jsessid=deadbeef).
Парсер: — удалена путаница путём перемещения анализа элементов в соответствующие классы (Form, Link, Cookie). — заменены хаки для очистки на очистку Nokogiri — более чистый код, лучшая производительность. — Form: автоматически обнаруживаются и обновляются одноразовые токены перед отправкой.
WebUI: удалён аддон AutoDeploy — нет. Инстансы (New)
Настройки
Исправлена небольшая опечатка на экране «Настройки» [Issue #62].
Отчёты — теперь отчёт AFR подаётся напрямую, чтобы избежать повреждения [Issue #55].
Дополнения — обновлены для использования новых асинхронных библиотек.
Добавлены кнопки помощи (New).
Интерфейс командной строки (CLI)
Улучшен обработчик прерываний:
— теперь он завершается более аккуратно и послушно;
— добавлено оценочное оставшееся время (New);
— добавлен индикатор выполнения (New).
HTTP-клиент
— добавлена поддержка включения пользовательских заголовков [Issue #90] (New);
— реорганизован так, что все методы используют request().
— исправлена ошибка сохранения файлов cookie.
Паук
Опция spider-first удалена и установлена по умолчанию в true.
Добавлен параметр "--depth" (New).
Исправлена некорректная реализация фильтров включения.
Теперь следует за заголовками "Location" напрямую и обходит тренер.
Добавлена поддержка расширения области сканирования файлом, содержащим URL-адреса, разделённые символами новой строки (New) [Issue #67].
Добавлена поддержка ограничения области сканирования файлом, содержащим URL-адреса, разделённые символами новой строки (New).
Сделан более устойчивым к искажённым/нестандартным URL-адресам [Issue #57].
Парсер
Закодированные URL с фрагментами сразу после хоста приводили к сбою URI.parse [Issue #66].
Аудируемые элементы:
Если в форме есть 2 или более полей пароля, добавляется дополнительная вариация с одинаковыми входами для всех паролей на случай, если это «пожалуйста, повторите свой пароль» (New) [Issue #59].
Плагины
API — добавлены методы класса distributable?()
и merge()
, которые объявляют, может ли плагин быть распространён на все инстансы при работе в режиме Grid, и объединяют массив своих результатов соответственно.
Распространяемые плагины:
— Content-Types;
— Cookie collector;
— Healthmap;
— Profiler;
— AutoThrottle.
Профилировщик — удалена регистрация времени отклика и перемещена в defaults.
Прокси — исправлена ошибка, из-за которой некоторые заголовки не пересылались [Issue #64].
Обнаружение (сопровождается соответствующими форматерами отчётов) (New) [Issue #81]:
Выполняет обнаружение аномалий в проблемах, зарегистрированных модулями обнаружения, и предупреждает о возможности ложных срабатываний, где это применимо.
Добавили подкаталог «defaults», который содержит плагины, которые должны загружаться по умолчанию.
Добавлено: (New)
— ReScan — использует отчёт AFR предыдущего сканирования для извлечения карты сайта, чтобы избежать избыточного сканирования.
— BeepNotify — издаёт звуковой сигнал, когда сканирование завершается.
— LibNotify — использует библиотеку libnotify для отправки уведомлений о каждой обнаруженной проблеме и сводки в конце сканирования.
— EmailNotify — отправляет уведомление (и, возможно, отчёт) по SMTP в конце сканирования.
— Manual verification — помечает проблемы, требующие ручной проверки, как ненадёжные, чтобы уменьшить соотношение сигнал/шум.
— Resolver — разрешает уязвимые имена хостов в IP-адреса.
Отчёты
HTML-отчёт:
— Исправлены формы воспроизведения, чтобы включить параметры URL в атрибут action [Issue #73].
— Реорганизован и разбит на частичные файлы erb.
— Организованы подразделы на вкладках (New).
— HTML-ответы зарегистрированных проблем теперь отображаются по запросу [Issue #88].
— Добавлен график, показывающий общее количество доверенных проблем (New).
— Основной график проблем показывает доверенные и недоверенные проблемы в 2 разных сериях.
— Весь код JavaScript и CSS теперь включён в отчёт для автономного просмотра.
— Удалена круговая диаграмма ручной проверки, заменённая на диаграмму доверия.
— Highcharts заменены на jqPlot по причинам лицензирования.
— Удалён отчёт о ложных срабатываниях — был. Причиной ошибок сегментации в Mac OSX. [Проблема №126]
Добавлено (Новое):
Учтены предупреждения Ruby (ruby -w).
Модули:
Метамодули:
Зависимости:
HTTP-клиент:
Паук (Новый):
WebUI:
Парсер:
Аудитор:
Модули:
Поддержка плагинов — позволяет расширять функциональность фреймворка практически любыми возможностями (Новое).
Добавлены плагины: (Новое)
Добавленные модули: (Новое)
Расширенная поддержка прокси (SOCKS4, SOCKS4A, SOCKS5, HTTP/1.1 и HTTP/1.0) (Новое).
Улучшенный вывод:
Переписанный HTTP-интерфейс:
Оптимизированная подсистема Trainer:
Реорганизованный и улучшенный Auditor:
Рефакторинг и улучшение API модуля:
Улучшенное управление прерываниями:
Улучшенная обработка профиля конфигурации:
Общие улучшения и оптимизации модулей.
Новые модули для:
Общее улучшение и оптимизация отчётов.
Новые отчёты:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )