Информационная безопасность → Обзор бесплатных инструментов для пентеста web-ресурсов и не только v2
Как-то давно я уже писал об этом, но немного скудно и сумбурно. После я решил расширить список инструментов в обзоре, добавить статье структуры, учесть критику (большое спасибо Lefty за советы) и отправил ее на конкурс на СекЛаб (и опубликовал ссылку, но по всем понятным причинам ее никто не увидел). Конкурс закончен, результаты объявили и я с чистой совестью могу ее (статью) опубликовать на Хабре.
В данной статье я расскажу о наиболее популярных инструментах для пентестинга (тестов на проникновение) веб-приложений по стратегии «черного ящика».
Для этого мы рассмотрим утилиты, которые помогут в данном виде тестирования. Рассмотрим следующие категории продуктов:
Бесплатные инструменты пентестера веб-приложений
В данной статье я расскажу о наиболее популярных инструментах для пентестинга (тестов на проникновение) веб-приложений по стратегии «черного ящика».
Для этого мы рассмотрим утилиты, которые помогут в данном виде тестирования. Рассмотрим следующие категории продуктов:
- Сетевые сканеры
- Сканеры брешей в веб-скриптах
- Эксплойтинг
- Автомазация инъекций
- Дебаггеры (снифферы, локальные прокси и т.п.)
JAVA → JRebel из песочницы
На Хабре несколько раз публиковались статьи, где JRebel либо просто упоминался, либо выкладывалась информация, что вышла новая версия. При этом, не всем читателям было понятно, о чём вообще речь, и как данное ПО работает.
Как непосредственному участнику разработки данного продукта, мне хотелось бы прояснить некоторые моменты, почему JRebel существует и как он может помочь Java-разработчику.
Изначальная проблема известна практически любому разработчику, который работает с Java: после каких-либо изменений в проекте, для того, чтобы увидеть результат, тратится довольно много времени на сборку и развёртывание в контейнере. На Хабре уже публиковались отличные статьи о том, как можно ускорить или автоматизировать процесс разработки, не стану повторяться. Но дело в том, что в упомянутых способах есть свои изъяны: далеко не все изменения возможно перегрузить в развёрнутом приложении штатными средствами; очень легко получить утечки памяти, которые приведут к надобности перезапуска контейнера. Технические детали хорошо расписаны в серии статей в нашем сайте — любопытных приглашаю почитать.
Как выглядит цикл разработки web-приложения, в классическом виде:
1. Сделали изменения в коде (или в ресурсах)
2. Собрали JAR/WAR/EAR
3. Развернули полученный архив в контейнере
4. Открыли развёрнутое приложение, и, после некоторых манипуляций увидели результаты своего труда.
В зависимости от размера приложения, используемого контейнера, и некоторых других факторов, этапы 2, 3 и 4 могут занимать от нескольких секунд, до совершенно невменяемых цифр. Наша компания проводила опрос разработчиков относительно используемых технологий и времени которое затрачивается на развёртывание приложения. Как оказалось, в среднем на развёртывание тратится около 3 минут за раз, и около 10 минут в час. В плачевных случаях, где на развёртывание уходит более получаса, нет даже смысла спрашивать у человека, сколько раз в час он может повторить этот процесс. Ответ очевиден.
Когда перезапуск контейнера/приложения занимает считанные секунды, проблема, описанная выше, не ощущается так сильно. Однако, по мере роста и усложнения проекта, неудобства дадут о себе знать. Тут-то и можно задуматься: может быть, JRebel — это то, что вам нужно?
Как непосредственному участнику разработки данного продукта, мне хотелось бы прояснить некоторые моменты, почему JRebel существует и как он может помочь Java-разработчику.
Откуда ноги растут?
Изначальная проблема известна практически любому разработчику, который работает с Java: после каких-либо изменений в проекте, для того, чтобы увидеть результат, тратится довольно много времени на сборку и развёртывание в контейнере. На Хабре уже публиковались отличные статьи о том, как можно ускорить или автоматизировать процесс разработки, не стану повторяться. Но дело в том, что в упомянутых способах есть свои изъяны: далеко не все изменения возможно перегрузить в развёрнутом приложении штатными средствами; очень легко получить утечки памяти, которые приведут к надобности перезапуска контейнера. Технические детали хорошо расписаны в серии статей в нашем сайте — любопытных приглашаю почитать.
Куда уходит время?
Как выглядит цикл разработки web-приложения, в классическом виде:
1. Сделали изменения в коде (или в ресурсах)
2. Собрали JAR/WAR/EAR
3. Развернули полученный архив в контейнере
4. Открыли развёрнутое приложение, и, после некоторых манипуляций увидели результаты своего труда.
В зависимости от размера приложения, используемого контейнера, и некоторых других факторов, этапы 2, 3 и 4 могут занимать от нескольких секунд, до совершенно невменяемых цифр. Наша компания проводила опрос разработчиков относительно используемых технологий и времени которое затрачивается на развёртывание приложения. Как оказалось, в среднем на развёртывание тратится около 3 минут за раз, и около 10 минут в час. В плачевных случаях, где на развёртывание уходит более получаса, нет даже смысла спрашивать у человека, сколько раз в час он может повторить этот процесс. Ответ очевиден.
Когда перезапуск контейнера/приложения занимает считанные секунды, проблема, описанная выше, не ощущается так сильно. Однако, по мере роста и усложнения проекта, неудобства дадут о себе знать. Тут-то и можно задуматься: может быть, JRebel — это то, что вам нужно?
Microsoft SharePoint → Панель разработчика в SharePoint 2010
В SharePoint 2010 (речь идет также о SharePoint Foundation 2010) есть встроенный инструмент по мониторингу производительности работы и скорости загрузки отдельных страниц.
В этой статье мы рассмотрим способы включения панели разработчика, а также ее внешний вид.
В этой статье мы рассмотрим способы включения панели разработчика, а также ее внешний вид.
- Включение панели разработчика
- С помощью PowerShell
- С помощью STSADM
- С помощью SharePoint API
- Внешний вид панели разработчика
Разработка → CloudShot — скриншоттер для DropBox

Долго думал как назвать этот пост в итоге назвал как пришлось.
О чем же я хочу рассказать
Сей пост о программе.
Очень маленькой программе, которую я написал в первую очередь для себя.
О маленьком скриншотере, умеющем интегрировать с Dropbox.
Но я не хочу ничего пиарить, скриншоттеров полно, полно скриншоттеров намного лучше моего.
Цель этого поста, разобрать ошибки.
Блог компании КРОК → 10 полезных инструментов для работы со средой VMware
Данная статья является переводом, оригинал см. здесь — www.vladan.fr/top-10-free-tools-to-manage-your-virtual-infrastructure/
У каждого системного администратора, постоянно работающего с виртуальной средой, есть свои инструменты, предназначенные для инфраструктуры VMware.
У каждого системного администратора, постоянно работающего с виртуальной средой, есть свои инструменты, предназначенные для инфраструктуры VMware.
Я пиарюсь → Онлайн агрегатор операций со строками

У вас часто возникает необходимость быстро конвертировать время из timestamp, ансериализовать строку и распечатать объект, узнать md5 хэш строки, кодировать ее в base64-обратно и т.д.? Конечно, для этого уже есть ряд тематических сервисов (md5.org, base64.org), которыми большинство из вас неоднократно пользовались. Обычно они выполняют только одну из функций, ибо удобнее зайти на главную, не щелкая мышкой по вкладкам вбить в большое поле на главной строку и получить результат. Под катом расскажу про свой проект easydev.org, который позволяет выполнить любую подобную операцию быстрее и удобнее, даже без использования мыши.
SQL → Версионная миграция структуры базы данных: еще один подход из песочницы
Прочитал интересную и полезную статью (1) — и захотел поделиться собственным опытом. В нашей фирме за 12 лет работы с одной (своей, Oracle-ориентированной) программой у сотен клиентов накоплен богатейший материал на тему апгрейда структуры БД.
Первоначально мы предполагали, что достаточно хранить в каждой БД номер версии последнего апгрейда и накатывать скрипты инкрементально, поднимая версию до нужной. Такая методика успешно использовалась в предыдущей версии нашей программы, работавшей с СУБД Paradox. Но с СУБД Oracle все пошло не так, у каждого клиента было собственное видение, какой должна быть его БД, и рассинхронизация версий стала неизбежным злом. Привычная методика апгрейдов по версиям стала постоянно приводить к ошибкам, на которые уже никто и не обращал внимание, и рассогласование структур продолжалось несколько лет. В итоге у каждого клиента оказалась собственная, не идентичная никакой другой, структура БД, а клиентская часть программы как-то должна была с этим бороться.
В какой-то момент руководство поручило вплотную заняться проблемой апгрейдов БД ведущему программисту фирмы (мне) — человеку творческому, предпочитающему потратить больше времени, но избежать рутинной работы. И тогда был разработан инструмент, позволивший практически свести на нет различия в структурах БД у всех клиентов. Об этой технологии я и хочу рассказать мировому сообществу.
Первоначально мы предполагали, что достаточно хранить в каждой БД номер версии последнего апгрейда и накатывать скрипты инкрементально, поднимая версию до нужной. Такая методика успешно использовалась в предыдущей версии нашей программы, работавшей с СУБД Paradox. Но с СУБД Oracle все пошло не так, у каждого клиента было собственное видение, какой должна быть его БД, и рассинхронизация версий стала неизбежным злом. Привычная методика апгрейдов по версиям стала постоянно приводить к ошибкам, на которые уже никто и не обращал внимание, и рассогласование структур продолжалось несколько лет. В итоге у каждого клиента оказалась собственная, не идентичная никакой другой, структура БД, а клиентская часть программы как-то должна была с этим бороться.
В какой-то момент руководство поручило вплотную заняться проблемой апгрейдов БД ведущему программисту фирмы (мне) — человеку творческому, предпочитающему потратить больше времени, но избежать рутинной работы. И тогда был разработан инструмент, позволивший практически свести на нет различия в структурах БД у всех клиентов. Об этой технологии я и хочу рассказать мировому сообществу.
GTD → Lists, Lists everywhere!
Как-то странно, что на хабре нету ни одного упоминания о таком замечательном инструменте как Workflowy. Workflowy это гениальная в своей простоте утилита. Она помогает составлять списки. И всё!
Можно делать:
Всё это доступно через веб из любого места. Скоро появятся приложения для мобильных устройств.
Я теперь, когда начинаю новый проект или задачу, вместо написания всего на бумажке просто открываю Workflowy и начинаю писать и структурировать вещи сразу.
Workflowy — Make Lists!
Можно делать:
- множество списков глубокой вложенности
- пометки для отдельных пунктов списка
- скрывать/раскрывать под-списки
- помечать пункты как выполненные
- перетаскивать пункты и целые списки в любое место
Всё это доступно через веб из любого места. Скоро появятся приложения для мобильных устройств.
Я теперь, когда начинаю новый проект или задачу, вместо написания всего на бумажке просто открываю Workflowy и начинаю писать и структурировать вещи сразу.
Workflowy — Make Lists!
Python → Автоматическая активация/деактивация при входе/выходе из папки
Веб-разработка → Релиз Firebug 1.6

Рабочая группа Firebug Working Group с гордостью представляет релиз Firebug 1.6!
Мы внедрили множество новшеств, которые приведены на странице заметок к релизу Firebug 1.6. Пожалуйста, просмотрите список изменений и дайте знать, если вам необходима любая дополнительная информация.
Мы тяжело трудились, но большая часть новшеств никогда не увидела бы свет без вклада от сторонних разработчиков, переводчиков и дизайнеров. Полный список участников разработки смотрите на специальной странице в нашей вики.
Мы значительно повысили стабильность Firebug'а и избавились от множеств утечек памяти — мы утверждаем, что это лучший релиз Firebug'а за всю историю.