Firefox — безусловно, самый расширяемый браузер и содержит в своем репозитории огромное количество дополнений для всех ситуаций. Не остались обделенными и пентестеры, которые занимаются проверкой сайтов на наличие уязвимостей.
В этой статье пойдет речь о самых полезных плагинах, которые помогут обнаружить бреши в защите сайтов. Я рекомендую ознакомиться с ней не только специалистам по информационной безопасности, но и всем веб-разработчикам, которым также следует периодически проводить аудит собственных сайтов.
Хочется отметить, что большинство плагинов не всегда смогут дать полную картину, так как это просто небольшие плагины. Они никогда не дадут той ясности, которую могут дать специализированные программы. Тем не менее, превратить свой браузер в эдакий комбайн для аудита сможет даже новичок, так что этот метод заслуживает своего внимания.
Сбор информации
Любой пентест всегда начинается со сбора информации о проверяемом ресурсе. Даже если это ваш собственный сайт — вам все же лучше воспользоваться этими плагинами, чтобы представить себя на месте взломщика и его собственными глазами увидеть, какую полезную информацию он может получить о вашем сайте, а затем (по возможности) исправить это.
Host Spy — С помощью этого плагина, вы легко и просто сможете выяснить, какие еще сайты имеются на этом же сервере. Это очень полезно знать, ведь очень часто какой-нибудь уязвимый сайт-сосед может предоставить злоумышленнику доступ и к вашему сайту! Конечно, грамотно настроенные хостинги не позволят это сделать, но на практике такое случается довольно часто.
ShowIP — небольшой плагин, которые показывает в строке состояния ip адрес текущего сайта. Также можно получить дополнительную информацию из whois (страна, компания и т.д.) просто щелкнув по IP в строке состояния.
Wappalyzer — этот полезный плагин позволит получить информацию о технологиях, используемых на сайте. Он попытается определить CMS, используемые фреймворки, панели хостера, используемый веб сервер и ОС.
Header Spy — Аддон, задача которого выводить в стркое состояния HTTP заголовки сервера. С его помощью можно увидеть, какой HTTP запрос вы отправили и что на это вам ответил вэб сервер.
Resurrect Pages — Позволит вам «оживить» удаленные страницы, добавив виджет прямо на страницу not found, в котором будут ссылки на поиск этой странице в кеше поисковиков и веб архивов. Иногда может пригодиться и для пентестера.
Подделка и анализ запросов
Очень часто, малоопытные веб разработчики допускают грубую ошибку — полностью доверяют HTTP запросам и cookie, присланными от пользователей и даже не проводят никаких проверок для этих параметров. А зря…
User Agent Switcher — Простенький плагин, который позволяет быстро изменять свой user-agetn (в нем хранится версия браузера, ос, язык и другие полезная инфомрация о посетителе). Его изменение поможет увидеть все вариации сайта, предназначенные для разных пользователей. Например, для различных ОС или же посетителей с мобильного телефона. Также инога, встречаются инъекции кода, которые выполняются с помощью подделки user-agen’а.
Modify Headers — Это уже намного более полезный плагин, который позволяет редактировать не только заголовок user-agent, но и все остальные, в том числе, добавлять собственные. Поэтому я рекомендую все же использовать его, а не предыдущий.
Tamper Data — Очень полезный плагин, который пригодиться, как разработчикам, так и пентестерам. Он позволяет вам анализировать все HTTP запросы которые протекают между вами и сервером. Но самое главное, вы можете легко и просто редактировать любой посланный заголовок. Отличие от Modify Headers огромно, ведь Modify Headers устанавливается глобально для всех сайтов, а Tamper Data вы можете натравить на любую конкретную страницу или скрипт. Этот плагин — лучший способ получить всю информацию о том, как взаимодействует клиент и сервер и провести анализ на внедрение своих запросов и выявить уязвимости.
Add N Edit Cookies — Позволяет просматривать, изменять и добавлять новые cookie. Здесь также есть место, где можно развернуться инъекциям. Стоит отметить, что этот плагин уже давно не развивается и не будет работать в современных firefox. Но это не беда, так как все равно есть средство гораздо лучше (О нем расскажу чуть ниже»)
Live HTTP Headers — Позволяет оперировать с HTTP заголовками: удалять, добавлять и изменять. Можно установить любой метод запроса, помимо GET и POST
Groundspeed — Позволит вам изменять формы на сайте — удалять ограничения на длину символом, редактировать JS события, изменять скрытые поля.
Инъекция кода
Всевозможные инъекции — это самые часто встречаемые уязвимости на сайтах. Конечно же firefox никак не мог обойтись без плагинов, для автоматизации их поиска и исполнения.
SQL Inject Me — как легко догадаться по названию, этот плагин поможет вам проверить сайт на наличие sql инъекций. Вы можете заставить его проанализировать все get параметры и формы на текущей странице. Этот плагин создает огромный трафик и иногда сайты даже падают от его работы :). Поэтому не стоит включать сразу все проверки одновременно.
XSS Me — Полностью аналогичен предыдущему, но ищет уже не sql, а xss инъекции.
Hackbar — Полезный плагин, который предназначен для облегчения проведения ручной sql и xss инъекции в адресной строке. Во первых, он может удобно разбить адресную строку по параметрам. Позволит вам быстро вставлять различные векторы для проверки уязвимостей. Имеет несколько полезных инструментов, например для кодирвоания урл, строк и символов. Например, сможет легко перевести вашу строку в CHAR(N,N,N,N), что крайне удобно, когда экранируются кавычки. В общем, если вы самостоятельно умеете проводить инъекции и понимаете их суть, этот плагин очень облегчит вам работу.
Поисковые системы
В firefox рядом с адресной строкой находится строка поиска, в которой вы можете легко и просто искать нужную информацию в выбранной поисковой системе. Существует масса сайтов, которые собирают эксплойты, информацию об уязвимостях и так далее. Так почему бы не добавить их в эту строку поиска, для более быстрого запроса к этим сайтам?
Offensive Security Exploit Database — Добавит в качестве варианта поисковой системы один из лучших каталогов эксплойтов — exploite-db.com. Вы сможете проверить наличие эксплойта к вашему приложению просто введя его название в строке поиска.
XSSed Search — Добавит поиск по сайту xssed.com, который собирает информацию по уязвимым к xss атаке приложениям.
OSVDB — Поиск по огромной базе уязвимостей osvdb.org
SecurityFocus Vulnerabilities search plugin — Еще одна один поиск по базе уязвимостей securitufocus.com
Анонимность
Когда мы проверяем свои собственные сайты или же делаем это с разрешения заказчика — нам не нужно переживать за свою анонимность. Тем не менее, случаи бывают разные и иногда все же придется позаботиться о сокрытии своего реального местоположения.
FoxyProxy — Позволяет легко и быстро переключаться между различными прокси серверами.
Прочее и обобщенное
Firebug — Этот плагин наверняка знаком всем веб-разработчикам. Это целый комбайн, который поможет вам изучать и изменять html код страницы в реальном времени. Отлаживать и изучать работу js, следить за посылаемым HTTP запросами и ответами, анализировать DOM и многое другое. Он вполне может заменить некоторые плагины, что я привел выше, но зато он кушает достаточно много ресурсов, поэтому выбор за вами.
Web Developer Toolbar — Еще один комбайн для веб-разработчиков, который будет крайне полезен пентестерам. Я не буду писать об огромном количестве инструментов, нужных разработчику, а опишу его лишь с точки зрения пентестера. Мы можем отключать js, dns кэш и передачу реферера. Просматривать, изменять и добавлять cookie, что является замечательной заменой устаревшему Add N Edit Cookies. Анализировать формы — удалять ограничения на длину символов, менять методы запроса, заменять select на текстовые поля, сделать disabled поля редактируемыми, открывать пароли под звездочками, показывать скрытые поля и всю самую подробную информацию по форме. Работа с формами — это очень полезный инструмент в руках пентестера, ведь очень часто программисты ставя запреты на редактирования или добавив свои параметры в select поле полагают, что злоумышленник никак не сможет их изменить, за что и расплачиваются. Как я уже говорил, это лишь малая доля того, что умеет эта панель, но для нас этого достаточно.
JS Deobfuscator — Сейчас очень часто встречаются сайты, для работы которых используется тонна js кода. Неопытные разработчики даже пишут на js логику работы сайта, которую следовала описать на стороне сервера, по причине доступности js кода любому посетителю. Но иногда, хитрый разработчик применяет так называемые обфускатор, который запутывает js код и вам будет очень трудно понять, что же он делает. Этот плагин попробует провести деобфускацию и приведет скрипт к более читабельному виду.
Url Flipper — простой плагин, который позволит вам инкрементировать и декрементировать параметры в адресной строке. Таким образом можно перебирать сессии, идентификаторы пользователей, новостей и т.п. Что примечательно, этот плагин умеет работать не только с десятичной системой, но и с восьмеричной, шестнадцатеричной и даже просто перебирать символы.
OWASP Mantra
Ну и напоследок, кто заинтересовался попробовать эти плагины в деле, но не хочет ставить их на свой любимый firefox, представляю вам готовую сборку от знаменитого проекта OWASP — Mantra. Это тот же самый firefox, только с уже установленными плагинами! Очень удобно, если вы не хотите загружать свою, и без того прожорливую лису лишним грузом.