Меню
Индекс

Mantis

В качестве примера продемонстрируем работу утилиты в случае сайта, на котором работает система баг трекинга Mantis. Сайты с установленной системой Mantis можно найти, например, используя такую строку поиска
 
Copyright © 2000 - 2011 MantisBT Group
 
Если анонимный доступ запрещен, то при заходе на такой сайт видим примерно такую форму
 
В начале каждого сеанса работы нужно загрузить в FormHack и проанализировать страницу содержащую форму для аутентификации пользователя. Переходим на закладку Сайт, переключаемся в режим HTTP (формы), водим адрес страницы в поле Страница входа и жмем Найти формы. Получаем следующее:
 
Все поля, которые мы видели на первой картинке попали в список. Все правильно и не требует коррекции.
 
Дальше нам нужно настроить критерии, которые будут использоваться FormHack для того, что бы понять удачна ли была попытка входа или нет. Для этого используется закладка "Ответ сервера".
 
Настройки тут весьма гибкие и позволяют подстроить работу практически под любую ситуацию. Для того что бы правильно заполнить эту страницу желательно знать как сервер реагирует на правильную комбинацию логин / пароль. Получить можно эту информацию можно разными способами. Наилучший из них это знать хоть одну правильную комбинацию.
 
В случае Mantis никто не мешает скачать пакет нужной версии, установить у себя, создать для себя пользователя и посмотреть как это работает. А способ посмотреть FormHack предоставляет. Вводим неправильный логин / пароль в блок Проверка ответа и жмем Отправить. Затем то же самое с правильным логином и паролем. Сравниваем ответы сервера:
 
Не правильный пароль:
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate
Content-Type: text/html; charset=utf-8
Expires: Wed, 18 Jan 2012 07:48:49 GMT
Last-Modified: Wed, 18 Jan 2012 07:48:49 GMT
Server: Microsoft-IIS/7.5
X-Powered-By: PHP/5.3.8
Set-Cookie: PHPSESSID=i8eb3p1pua130keajmde921ms3; path=/; HttpOnly
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Content-Security-Policy: allow 'self'; options inline-script
            eval-script; frame-ancestors 'none'
Set-Cookie: MANTIS_secure_session=1; path=/; httponly
Refresh: 0;url=http://xx.xx.xx.xxx/mantis/login_page.php?return=index.php&error=1
            &username=unknownuser&perm_login=1&secure_session=1
X-Powered-By: ASP.NET
Date: Wed, 18 Jan 2012 07:48:49 GMT
Content-Length: 0
 
Првильный логин / пароль:
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate
Content-Type: text/html; charset=utf-8
Expires: Wed, 18 Jan 2012 07:51:53 GMT
Last-Modified: Wed, 18 Jan 2012 07:51:53 GMT
Server: Microsoft-IIS/7.5
X-Powered-By: PHP/5.3.8
Set-Cookie: PHPSESSID=c6h3teub6n3umbgeq9t9rn8gi3; path=/; HttpOnly
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-Content-Security-Policy: allow 'self'; options inline-script
            eval-script; frame-ancestors 'none'
Set-Cookie: MANTIS_secure_session=1; path=/; httponly
Set-Cookie: MANTIS_STRING_COOKIE=
  10298e02115214c92d7f4504651023e34542f915f43c235849c9cb9362b7d4b8;
  expires=Sun, 30-Dec-2012 13:11:53 GMT; path=/; httponly
Refresh: 0;url=http://xx.xx.xx.xxx/mantis/login_cookie_test.php?return=index.php
X-Powered-By: ASP.NET
Date: Wed, 18 Jan 2012 07:51:53 GMT
Content-Length: 0
 
Видно, что во втором случае сервер редиректит на страницу login_cookie_test.php и устанавливает cookie с именем MANTIS_STRING_COOKIE. Попытку установить cookie с таким именем можно и использовать, например, для определения положительного ответа сервера.
 
Правильная настройка параметров на странице Ответ сервера тогда будет выглядеть так:
 
Последнее, что нужно настроить это параметры на закладке "Настройки". Зачастую тут нас интересует только параметр нужно ли останавливаться после нахождения первой правильной комбинации или продолжать подбор дальше. А так же число параллельных потоков соединения с сервером (bots). Увеличение последнего параметра в разумных пределах может значительно ускорить скорость подбора.
 
Итак все готово. Жмем Атаковать!